sc_subnode_helper node private state.
More...
#include <subnode_helper.h>
sc_subnode_helper node private state.
Signature of sh_handle_backlog_fn.
- Parameters
-
The backlog handler is responsible for forwarding packets in the backlog to one of the outgoing links. It is invoked when any of the following events occurs:
- The backlog transitions from empty to non-empty and sh_pool (if set) has at least sh_pool_threshold buffers available.
- The backlog is non-empty and the pool fill level increases above sh_pool_threshold.
- Periodically every sh_backlog_poll_ns (if non-zero) while the backlog is non-empty.
- After sc_subnode_helper_request_callback() is called.
The handler is called repeatedly until either the backlog is empty or the length of the backlog remains unmodified across the callback. Note that when the backlog handler is invoked due to timeout or request_callback(), the pool threshold is not considered.
Signature of sh_handle_end_of_stream_fn.
- Parameters
-
The end-of-stream handler is invoked when the following conditions are all true:
- The node has received the end-of-stream signal.
- The backlog is empty.
- sh_pool (if set) has at least sh_pool_threshold buffers available.
If this handler is set, it is responsible for propagating end-of-stream to the outgoing links. If no handler is provided, end-of-stream is automatically propagated to all outputs once the backlog is empty.
Unprocessed incoming packets
A node link for freeing packets (if requested)
Handler invoked to process the backlog
Handler invoked when end of stream has been signalled and the backlog is empty
uint64_t sh_poll_backlog_ns |
Interval at which to poll backlog handler when backlog is not empty
A packet pool (if requested)
Number of buffers that must be available in the pool before calling the backlog handler
Private state for the user
The documentation for this struct was generated from the following file: