}
@Override
- public Result_ChanKeySignerDecodeErrorZ read_chan_signer(byte[] reader) {
+ public Result_ChannelKeysDecodeErrorZ read_chan_signer(byte[] reader) {
return underlying_if.read_chan_signer(reader);
}
});
return null;
}
+ Event[] get_monitor_events() {
+ if (chain_monitor != null) {
+ return chain_monitor.as_EventsProvider().get_and_clear_pending_events();
+ } else {
+ synchronized (monitors) {
+ assert monitors.size() == 1;
+ for (ChannelMonitor mon : monitors.values()) {
+ return mon.get_and_clear_pending_events();
+ }
+ return null;
+ }
+ }
+ }
+
Route get_route(byte[] dest_node, ChannelDetails[] our_chans) {
try (LockedNetworkGraph netgraph = this.router.read_locked_graph()) {
NetworkGraph graph = netgraph.graph();
if (use_nio_peer_handler) {
peer1.nio_peer_handler.check_events();
peer2.nio_peer_handler.check_events();
- try { Thread.sleep(500); } catch (InterruptedException e) { assert false; }
+ try { Thread.sleep(400); } catch (InterruptedException e) { assert false; }
} else {
synchronized (runqueue) {
ran = false;
assert payment_res instanceof Result_NonePaymentSendFailureZ.Result_NonePaymentSendFailureZ_OK;
wait_events_processed(peer1, peer2);
+ RouteHop[][] hops = new RouteHop[1][1];
+ byte[] hop_pubkey = new byte[33];
+ hop_pubkey[0] = 3;
+ hop_pubkey[1] = 42;
+ hops[0][0] = RouteHop.constructor_new(hop_pubkey, NodeFeatures.constructor_known(), 42, ChannelFeatures.constructor_known(), 100, 0);
+ Route r2 = Route.constructor_new(hops);
+ payment_res = peer1.chan_manager.send_payment(r2, payment_hash, new byte[32]);
+ assert payment_res instanceof Result_NonePaymentSendFailureZ.Result_NonePaymentSendFailureZ_Err;
+
+ assert peer1.get_monitor_events().length == 0;
+ assert peer2.get_monitor_events().length == 0;
+
if (reload_peers) {
if (use_nio_peer_handler) {
peer1.nio_peer_handler.interrupt();
}
if (use_nio_peer_handler) {
+ state.peer1.peer_manager.disconnect_by_node_id(state.peer2.chan_manager.get_our_node_id(), false);
+ wait_events_processed(state.peer1, state.peer2);
+ assert state.peer1.peer_manager.get_peer_node_ids().length == 0;
+ assert state.peer2.peer_manager.get_peer_node_ids().length == 0;
state.peer1.nio_peer_handler.interrupt();
state.peer2.nio_peer_handler.interrupt();
}
+
+ assert state.peer1.get_monitor_events().length == 0;
+ assert state.peer2.get_monitor_events().length == 0;
}
java.util.LinkedList<WeakReference<Object>> must_free_objs = new java.util.LinkedList();