* minute should suffice.
*/
public static PeerManager of(ChannelMessageHandler message_handler_chan_handler_arg, RoutingMessageHandler message_handler_route_handler_arg, OnionMessageHandler message_handler_onion_message_handler_arg, CustomMessageHandler message_handler_custom_message_handler_arg, int current_time, byte[] ephemeral_random_data, org.ldk.structs.Logger logger, org.ldk.structs.NodeSigner node_signer) {
- long ret = bindings.PeerManager_new(bindings.MessageHandler_new(message_handler_chan_handler_arg.ptr, message_handler_route_handler_arg.ptr, message_handler_onion_message_handler_arg.ptr, message_handler_custom_message_handler_arg.ptr), current_time, InternalUtils.check_arr_len(ephemeral_random_data, 32), logger.ptr, node_signer.ptr);
+ long ret = bindings.PeerManager_new(bindings.MessageHandler_new(message_handler_chan_handler_arg.ptr, message_handler_route_handler_arg.ptr, message_handler_onion_message_handler_arg.ptr, message_handler_custom_message_handler_arg.ptr), current_time, InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(ephemeral_random_data, 32)), logger.ptr, node_signer.ptr);
GC.KeepAlive(message_handler_chan_handler_arg);
GC.KeepAlive(message_handler_route_handler_arg);
GC.KeepAlive(message_handler_onion_message_handler_arg);
* The returned `Option`s will only be `Some` if an address had been previously given via
* [`Self::new_outbound_connection`] or [`Self::new_inbound_connection`].
*/
- public TwoTuple_PublicKeyCOption_NetAddressZZ[] get_peer_node_ids() {
- long[] ret = bindings.PeerManager_get_peer_node_ids(this.ptr);
+ public TwoTuple_PublicKeyCOption_SocketAddressZZ[] get_peer_node_ids() {
+ long ret = bindings.PeerManager_get_peer_node_ids(this.ptr);
GC.KeepAlive(this);
- int ret_conv_40_len = ret.Length;
- TwoTuple_PublicKeyCOption_NetAddressZZ[] ret_conv_40_arr = new TwoTuple_PublicKeyCOption_NetAddressZZ[ret_conv_40_len];
- for (int o = 0; o < ret_conv_40_len; o++) {
- long ret_conv_40 = ret[o];
- TwoTuple_PublicKeyCOption_NetAddressZZ ret_conv_40_hu_conv = new TwoTuple_PublicKeyCOption_NetAddressZZ(null, ret_conv_40);
- if (ret_conv_40_hu_conv != null) { ret_conv_40_hu_conv.ptrs_to.AddLast(this); };
- ret_conv_40_arr[o] = ret_conv_40_hu_conv;
+ if (ret >= 0 && ret <= 4096) { return null; }
+ int ret_conv_43_len = InternalUtils.getArrayLength(ret);
+ TwoTuple_PublicKeyCOption_SocketAddressZZ[] ret_conv_43_arr = new TwoTuple_PublicKeyCOption_SocketAddressZZ[ret_conv_43_len];
+ for (int r = 0; r < ret_conv_43_len; r++) {
+ long ret_conv_43 = InternalUtils.getU64ArrayElem(ret, r);
+ TwoTuple_PublicKeyCOption_SocketAddressZZ ret_conv_43_hu_conv = new TwoTuple_PublicKeyCOption_SocketAddressZZ(null, ret_conv_43);
+ if (ret_conv_43_hu_conv != null) { ret_conv_43_hu_conv.ptrs_to.AddLast(this); };
+ ret_conv_43_arr[r] = ret_conv_43_hu_conv;
}
- return ret_conv_40_arr;
+ bindings.free_buffer(ret);
+ return ret_conv_43_arr;
}
/**
*
* [`socket_disconnected`]: PeerManager::socket_disconnected
*/
- public Result_CVec_u8ZPeerHandleErrorZ new_outbound_connection(byte[] their_node_id, org.ldk.structs.SocketDescriptor descriptor, org.ldk.structs.Option_NetAddressZ remote_network_address) {
- long ret = bindings.PeerManager_new_outbound_connection(this.ptr, InternalUtils.check_arr_len(their_node_id, 33), descriptor.ptr, remote_network_address.ptr);
+ public Result_CVec_u8ZPeerHandleErrorZ new_outbound_connection(byte[] their_node_id, org.ldk.structs.SocketDescriptor descriptor, org.ldk.structs.Option_SocketAddressZ remote_network_address) {
+ long ret = bindings.PeerManager_new_outbound_connection(this.ptr, InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(their_node_id, 33)), descriptor.ptr, remote_network_address.ptr);
GC.KeepAlive(this);
GC.KeepAlive(their_node_id);
GC.KeepAlive(descriptor);
*
* [`socket_disconnected`]: PeerManager::socket_disconnected
*/
- public Result_NonePeerHandleErrorZ new_inbound_connection(org.ldk.structs.SocketDescriptor descriptor, org.ldk.structs.Option_NetAddressZ remote_network_address) {
+ public Result_NonePeerHandleErrorZ new_inbound_connection(org.ldk.structs.SocketDescriptor descriptor, org.ldk.structs.Option_SocketAddressZ remote_network_address) {
long ret = bindings.PeerManager_new_inbound_connection(this.ptr, descriptor.ptr, remote_network_address.ptr);
GC.KeepAlive(this);
GC.KeepAlive(descriptor);
* [`process_events`]: PeerManager::process_events
*/
public Result_boolPeerHandleErrorZ read_event(org.ldk.structs.SocketDescriptor peer_descriptor, byte[] data) {
- long ret = bindings.PeerManager_read_event(this.ptr, peer_descriptor.ptr, data);
+ long ret = bindings.PeerManager_read_event(this.ptr, peer_descriptor.ptr, InternalUtils.encodeUint8Array(data));
GC.KeepAlive(this);
GC.KeepAlive(peer_descriptor);
GC.KeepAlive(data);
* [`disconnect_socket`]: SocketDescriptor::disconnect_socket
*/
public void disconnect_by_node_id(byte[] node_id) {
- bindings.PeerManager_disconnect_by_node_id(this.ptr, InternalUtils.check_arr_len(node_id, 33));
+ bindings.PeerManager_disconnect_by_node_id(this.ptr, InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(node_id, 33)));
GC.KeepAlive(this);
GC.KeepAlive(node_id);
}
*
* [`get_and_clear_pending_msg_events`]: MessageSendEventsProvider::get_and_clear_pending_msg_events
*/
- public void broadcast_node_announcement(byte[] rgb, byte[] alias, NetAddress[] addresses) {
- bindings.PeerManager_broadcast_node_announcement(this.ptr, InternalUtils.check_arr_len(rgb, 3), InternalUtils.check_arr_len(alias, 32), addresses != null ? InternalUtils.mapArray(addresses, addresses_conv_12 => addresses_conv_12.ptr) : null);
+ public void broadcast_node_announcement(byte[] rgb, byte[] alias, SocketAddress[] addresses) {
+ bindings.PeerManager_broadcast_node_announcement(this.ptr, InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(rgb, 3)), InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(alias, 32)), InternalUtils.encodeUint64Array(InternalUtils.mapArray(addresses, addresses_conv_15 => addresses_conv_15.ptr)));
GC.KeepAlive(this);
GC.KeepAlive(rgb);
GC.KeepAlive(alias);
GC.KeepAlive(addresses);
- foreach (NetAddress addresses_conv_12 in addresses) { if (this != null) { this.ptrs_to.AddLast(addresses_conv_12); }; };
+ foreach (SocketAddress addresses_conv_15 in addresses) { if (this != null) { this.ptrs_to.AddLast(addresses_conv_15); }; };
}
}