diff options
author | Jordan Augé <jordan.auge+fdio@cisco.com> | 2020-09-23 17:50:52 +0200 |
---|---|---|
committer | Jordan Augé <jordan.auge+fdio@cisco.com> | 2020-09-28 18:25:30 +0200 |
commit | 32dccec98e4c7d7e4ce902e19ba8d1b29b823758 (patch) | |
tree | 95c5dec2083a3774c13bd5f896743cd6c5c42a7a /hicn-light/src/hicn/core/listener.h | |
parent | 7356408ca1554468c9d7b9840aaaee28b4341c8d (diff) |
[HICN-570] Message buffer (incl. CS and PIT changes)
Change-Id: I4c508e4b04dee3acbfc3da1d26e1770cb826f22b
Signed-off-by: Jordan Augé <jordan.auge+fdio@cisco.com>
Diffstat (limited to 'hicn-light/src/hicn/core/listener.h')
-rw-r--r-- | hicn-light/src/hicn/core/listener.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/hicn-light/src/hicn/core/listener.h b/hicn-light/src/hicn/core/listener.h index ea2a5d3d8..eb1ec6893 100644 --- a/hicn-light/src/hicn/core/listener.h +++ b/hicn-light/src/hicn/core/listener.h @@ -23,10 +23,11 @@ #include <hicn/core/address_pair.h> #include <hicn/face.h> -#include <hicn/base/loop.h> + +#include "msgbuf.h" +#include "../base/loop.h" struct forwarder_s; -struct batch_buffer_s; typedef struct { address_t address; @@ -89,11 +90,21 @@ void listener_setup_local_ipv4(const struct forwarder_s * forwarder, uint16_t p void listener_process_packet(const listener_t * listener, const uint8_t * packet, size_t size); -ssize_t listener_read_callback(struct forwarder_s * forwarder, listener_t * listener, - int fd, address_t * local_addr, uint8_t * packet, size_t size); -void listener_batch_read_callback(struct forwarder_s * forwarder, - listener_t * listener, int fd, address_t * local_addr, - struct batch_buffer_s * bb); +ssize_t listener_read_single(listener_t * listener); +ssize_t listener_read_batch(listener_t * listener); + +/** + * @brief Callback helper function for batch reading data from listener fd. + * + * This function is usually called from the listener read callback to proceed to + * actual reading of data from the fd. + * + * @see listener_read_callback + * + * NOTE: the function returns size_t as for TCP we might need to know how much + * data we can consume from the socket. + */ +ssize_t listener_read_callback(listener_t * listener, int fd, void * user_data); #endif /* HICNLIGHT_LISTENER_H */ |