3 import CommonBase from './CommonBase';
4 import * as bindings from '../bindings' // TODO: figure out location
8 export default class PeerManager extends CommonBase {
9 constructor(_dummy: object, ptr: number) {
14 protected finalize() {
18 bindings.PeerManager_free(this.ptr);
21 public static PeerManager constructor_new(ChannelMessageHandler message_handler_chan_handler_arg, RoutingMessageHandler message_handler_route_handler_arg, Uint8Array our_node_secret, Uint8Array ephemeral_random_data, Logger logger, CustomMessageHandler custom_message_handler) {
22 number ret = bindings.PeerManager_new(bindings.MessageHandler_new(message_handler_chan_handler_arg == null ? 0 : message_handler_chan_handler_arg.ptr, message_handler_route_handler_arg == null ? 0 : message_handler_route_handler_arg.ptr), our_node_secret, ephemeral_random_data, logger == null ? 0 : logger.ptr, custom_message_handler == null ? 0 : custom_message_handler.ptr);
23 const ret_hu_conv: PeerManager = new PeerManager(null, ret);
24 ret_hu_conv.ptrs_to.add(ret_hu_conv);
25 ret_hu_conv.ptrs_to.add(message_handler_chan_handler_arg);
26 ret_hu_conv.ptrs_to.add(message_handler_route_handler_arg);
27 ret_hu_conv.ptrs_to.add(logger);
28 ret_hu_conv.ptrs_to.add(custom_message_handler);
32 public Uint8Array[] get_peer_node_ids() {
33 Uint8Array[] ret = bindings.PeerManager_get_peer_node_ids(this.ptr);
37 public Result_CVec_u8ZPeerHandleErrorZ new_outbound_connection(Uint8Array their_node_id, SocketDescriptor descriptor) {
38 number ret = bindings.PeerManager_new_outbound_connection(this.ptr, their_node_id, descriptor == null ? 0 : descriptor.ptr);
39 Result_CVec_u8ZPeerHandleErrorZ ret_hu_conv = Result_CVec_u8ZPeerHandleErrorZ.constr_from_ptr(ret);
40 this.ptrs_to.add(descriptor);
44 public Result_NonePeerHandleErrorZ new_inbound_connection(SocketDescriptor descriptor) {
45 number ret = bindings.PeerManager_new_inbound_connection(this.ptr, descriptor == null ? 0 : descriptor.ptr);
46 Result_NonePeerHandleErrorZ ret_hu_conv = Result_NonePeerHandleErrorZ.constr_from_ptr(ret);
47 this.ptrs_to.add(descriptor);
51 public Result_NonePeerHandleErrorZ write_buffer_space_avail(SocketDescriptor descriptor) {
52 number ret = bindings.PeerManager_write_buffer_space_avail(this.ptr, descriptor == null ? 0 : descriptor.ptr);
53 Result_NonePeerHandleErrorZ ret_hu_conv = Result_NonePeerHandleErrorZ.constr_from_ptr(ret);
57 public Result_boolPeerHandleErrorZ read_event(SocketDescriptor peer_descriptor, Uint8Array data) {
58 number ret = bindings.PeerManager_read_event(this.ptr, peer_descriptor == null ? 0 : peer_descriptor.ptr, data);
59 Result_boolPeerHandleErrorZ ret_hu_conv = Result_boolPeerHandleErrorZ.constr_from_ptr(ret);
63 public void process_events() {
64 bindings.PeerManager_process_events(this.ptr);
67 public void socket_disconnected(SocketDescriptor descriptor) {
68 bindings.PeerManager_socket_disconnected(this.ptr, descriptor == null ? 0 : descriptor.ptr);
71 public void disconnect_by_node_id(Uint8Array node_id, boolean no_connection_possible) {
72 bindings.PeerManager_disconnect_by_node_id(this.ptr, node_id, no_connection_possible);
75 public void disconnect_all_peers() {
76 bindings.PeerManager_disconnect_all_peers(this.ptr);
79 public void timer_tick_occurred() {
80 bindings.PeerManager_timer_tick_occurred(this.ptr);