explode to constructor args when we cant clone but need to
[ldk-java] / src / main / java / org / ldk / structs / PeerManager.java
1 package org.ldk.structs;
2
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
5
6 public class PeerManager extends CommonBase {
7         PeerManager(Object _dummy, long ptr) { super(ptr); }
8         @Override @SuppressWarnings("deprecation")
9         protected void finalize() throws Throwable {
10                 bindings.PeerManager_free(ptr); super.finalize();
11         }
12
13         public PeerManager(ChannelMessageHandler message_handler_chan_handler_arg, RoutingMessageHandler message_handler_route_handler_arg, byte[] our_node_secret, byte[] ephemeral_random_data, Logger logger) {
14                 super(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));
15                 this.ptrs_to.add(message_handler_chan_handler_arg);
16                 this.ptrs_to.add(message_handler_route_handler_arg);
17                 this.ptrs_to.add(logger);
18         }
19
20         // Skipped PeerManager_get_peer_node_ids
21         // Skipped PeerManager_new_outbound_connection
22         // Skipped PeerManager_new_inbound_connection
23         // Skipped PeerManager_write_buffer_space_avail
24         // Skipped PeerManager_read_event
25         public void process_events() {
26                 bindings.PeerManager_process_events(this.ptr);
27         }
28
29         public void socket_disconnected(SocketDescriptor descriptor) {
30                 bindings.PeerManager_socket_disconnected(this.ptr, descriptor == null ? 0 : descriptor.ptr);
31                 this.ptrs_to.add(descriptor);
32         }
33
34         public void timer_tick_occured() {
35                 bindings.PeerManager_timer_tick_occured(this.ptr);
36         }
37
38 }