aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-light/src/hicn/core/listener.c
diff options
context:
space:
mode:
Diffstat (limited to 'hicn-light/src/hicn/core/listener.c')
-rw-r--r--hicn-light/src/hicn/core/listener.c25
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);