X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=ldk-net%2Fldk_net.c;h=8bae7af192c1c08b0f41f1bbf1310718fb635c5b;hb=4995ea79aac663f4474048a4059700dc67115dbe;hp=dc19e8ee6794a900b1a2a3939940cd333c6d8a85;hpb=a82e075188fc15a103234832686915c196bfe240;p=ldk-c-bindings diff --git a/ldk-net/ldk_net.c b/ldk-net/ldk_net.c index dc19e8e..8bae7af 100644 --- a/ldk-net/ldk_net.c +++ b/ldk-net/ldk_net.c @@ -111,10 +111,9 @@ static uintptr_t sock_send_data(void* desc, struct LDKu8slice data, bool resume_ for (int i = 0; i < descriptor->handler->sockcount; i++) { if (descriptor->handler->pollfds[i].fd == descriptor->fd) { if (pause_read) { - descriptor->handler->pollfds[i].events &= POLLIN; - descriptor->handler->pollfds[i].events |= POLLOUT; + descriptor->handler->pollfds[i].events = POLLOUT; } else { - descriptor->handler->pollfds[i].events |= POLLIN; + descriptor->handler->pollfds[i].events = POLLIN; } break; } @@ -215,7 +214,10 @@ static void *sock_thread_fn(void* arg) { if (newfd >= 0) { // Received a new connection, register it! LDKSocketDescriptor new_descriptor = get_descriptor(handler, newfd); - LDKCResult_NonePeerHandleErrorZ con_res = PeerManager_new_inbound_connection(&handler->ldk_peer_manager, new_descriptor); + LDKCOption_NetAddressZ remote_network_address = { + .tag = LDKCOption_NetAddressZ_None, + }; + LDKCResult_NonePeerHandleErrorZ con_res = PeerManager_new_inbound_connection(&handler->ldk_peer_manager, new_descriptor, remote_network_address); if (con_res.result_ok) { if (register_socket(handler, newfd, 0)) shutdown(newfd, SHUT_RDWR); @@ -243,8 +245,7 @@ static void *sock_thread_fn(void* arg) { lockres = pthread_mutex_lock(&handler->sockets_mutex); assert(lockres == 0); assert(handler->pollfds[i - 1].fd == pollfds[i].fd); // Only we change fd order! - handler->pollfds[i - 1].events &= POLLIN; - handler->pollfds[i - 1].events |= POLLOUT; + handler->pollfds[i - 1].events = POLLOUT; lockres = pthread_mutex_unlock(&handler->sockets_mutex); assert(lockres == 0); } @@ -380,7 +381,10 @@ int socket_connect(void* arg, LDKPublicKey pubkey, struct sockaddr *addr, size_t if (register_socket(handler, fd, 0)) return -4; LDKSocketDescriptor descriptor = get_descriptor(handler, fd); - LDKCResult_CVec_u8ZPeerHandleErrorZ con_res = PeerManager_new_outbound_connection(&handler->ldk_peer_manager, pubkey, descriptor); + LDKCOption_NetAddressZ remote_network_address = { + .tag = LDKCOption_NetAddressZ_None, + }; + LDKCResult_CVec_u8ZPeerHandleErrorZ con_res = PeerManager_new_outbound_connection(&handler->ldk_peer_manager, pubkey, descriptor, remote_network_address); if (con_res.result_ok) { ssize_t write_count = send(fd, con_res.contents.result->data, con_res.contents.result->datalen, MSG_NOSIGNAL); if (write_count != con_res.contents.result->datalen)