diff options
Diffstat (limited to 'hicn-light/src/hicn/core/listener.c')
-rw-r--r-- | hicn-light/src/hicn/core/listener.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/hicn-light/src/hicn/core/listener.c b/hicn-light/src/hicn/core/listener.c index 66b5c09ee..01f62bb39 100644 --- a/hicn-light/src/hicn/core/listener.c +++ b/hicn-light/src/hicn/core/listener.c @@ -39,7 +39,10 @@ listener_create(face_type_t type, const address_t * address, .type = type, .address = *address, }; - listener_table_allocate(table, listener, &key, name); + listener_table_allocate(table, listener, &key, strdup(name)); + WITH_DEBUG( + listener_table_print(table); + ) unsigned listener_id = listener_table_get_listener_id(table, listener); @@ -63,7 +66,7 @@ listener_initialize(listener_t * listener, face_type_t type, const char * name, .type = type, .interface_name = strdup(interface_name), //.interface_index = , - //.family = , + .family = address->ss_family, .fd = 0, .address = *address, .forwarder = forwarder, @@ -103,12 +106,10 @@ listener_initialize(listener_t * listener, face_type_t type, const char * name, goto ERR_REGISTER_FD; } - // XXX TODO - //char *str = addressToString(listener->local_addr); + char addr_str[INET6_ADDRSTRLEN]; + address_to_string(address, addr_str); DEBUG("%s UdpListener %p created for address %s", - face_type_str(listener->type), listener, "N/A"); - //free(str); - + face_type_str(listener->type), listener, addr_str); return 0; ERR_REGISTER_FD: @@ -282,6 +283,9 @@ listener_read_batch(listener_t * listener) total_size += processed_size; } + // TODO: free only if not used by cs or pit + for (unsigned i = 0; i < MAX_MSG; i++) + msgbuf_pool_put(msgbuf_pool, msgbuf[i]); } while(r == MAX_MSG); /* backpressure based on queue size ? */ /* @@ -375,13 +379,6 @@ listener_setup_all(const forwarder_t * forwarder, uint16_t port, const char *loc void listener_setup_local_ipv4(forwarder_t * forwarder, uint16_t port) { -#if 0 - // XXX memset - address_t address = ADDRESS4_LOCALHOST(port); - - _setupUdpListener(forwarder, "lo_udp", &address, "lo"); - _setupTcpListener(forwarder, "lo_tcp", &address, "lo"); -#endif address_t address; memset(&address, 0, sizeof(address_t)); address = ADDRESS4_LOCALHOST(port); |