X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=node-net%2Fnet.mts;h=9e16ab32601da75ded82e13e98d505ee9f27fac5;hb=fc1713f98509bca33276386bfa31566e87b59927;hp=58da387d6c59177c363e2777f31091079558caf4;hpb=8a515be62568ee4327e636a977e32204006d6493;p=ldk-java diff --git a/node-net/net.mts b/node-net/net.mts index 58da387d..9e16ab32 100644 --- a/node-net/net.mts +++ b/node-net/net.mts @@ -8,6 +8,12 @@ export class NodeLDKNet { private ping_timer; private servers: net.Server[]; public constructor(public peer_manager: ldk.PeerManager) { + // @ts-ignore + if (peer_manager._node_ldk_net_singleton_check != undefined) { + throw "Only one NdoeLDKNet should exist per PeerManager"; + } + // @ts-ignore + peer_manager._node_ldk_net_singleton_check = this; this.ping_timer = setInterval(function() { peer_manager.timer_tick_occurred(); peer_manager.process_events(); @@ -24,6 +30,8 @@ export class NodeLDKNet { server.close(); } this.peer_manager.disconnect_all_peers(); + // @ts-ignore + delete this.peer_manager._node_ldk_net_singleton_check; } /** @@ -82,6 +90,9 @@ export class NodeLDKNet { socket.on("close", function() { this_pm.socket_disconnected(descriptor); }); + socket.on("error", function() { + this_pm.socket_disconnected(descriptor); + }); return descriptor; }