UM C API
6.16.1
|
Structure that holds datagram statistics for source LBT-RU transports. More...
#include <lbm.h>
Data Fields | |
lbm_ulong_t | msgs_sent |
Number of LBT-RU datagrams sent. Depending on batching settings, a single LBT-RU datagram may contain one or more messages, or a fragment of a larger message. With LBT-RU, larger messages are split into fragment sizes limited by configuration option transport_lbtru_datagram_max_size (context) (default 8KB). (Cumulative) | |
lbm_ulong_t | bytes_sent |
Number of LBT-RU datagram bytes sent, i.e., the total of lengths of all LBT-RU packets including UM header information. (Cumulative) | |
lbm_ulong_t | nak_pckts_rcved |
Number of NAK packets received by this source transport. UM batches NAKs into NAK packets to save network bandwidth. This should always be less than or equal to naks_rcved (below). (Cumulative) | |
lbm_ulong_t | naks_rcved |
Number of individual NAKs received by the source transport. (Cumulative) More... | |
lbm_ulong_t | naks_ignored |
Number of NAKs this source transport ignored and sent an NCF with reason code "ignored". (Cumulative) More... | |
lbm_ulong_t | naks_shed |
Number of NAKs this source transport has shed by sending an NCF with reason code "shed". (Cumulative) More... | |
lbm_ulong_t | naks_rx_delay_ignored |
Number of NAKs this source transport has not yet processed because doing so would exceed its retransmit rate limit (set by configuration option transport_lbtru_retransmit_rate_limit (context), default 5Mbps). (Cumulative) More... | |
lbm_ulong_t | rxs_sent |
Number of LBT-RU datagrams retransmitted by this source transport (incremented under the same circumstances as rx_bytes_sent, below). (Cumulative) More... | |
lbm_ulong_t | num_clients |
Number of receiver transports that are currently connected to this source transport. (Snapshot) | |
lbm_ulong_t | rx_bytes_sent |
Number of LBT-RU transport total bytes retransmitted by this source transport (triggered under the same circumstances as rxs_sent, above). (Cumulative) More... | |
Structure that holds datagram statistics for source LBT-RU transports.
Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.
See lbm_src_transport_stats_lbtru_t_stct for field definitions.
lbm_ulong_t lbm_src_transport_stats_lbtru_t_stct::naks_ignored |
Number of NAKs this source transport ignored and sent an NCF with reason code "ignored". (Cumulative)
A source transport ignores a NAK for a datagram it has already recently retransmitted. How "recently" is determined by the configuration option source transport_lbtru_ignore_interval (source) (default 500ms). If this count is high, a receiver transport may be having trouble receiving retransmissions, or the ignore interval may be set too long.
lbm_ulong_t lbm_src_transport_stats_lbtru_t_stct::naks_rcved |
Number of individual NAKs received by the source transport. (Cumulative)
When a source transport receives a NAK from a receiver transport, it may respond by re-transmitting the requested LBT-RU datagram, or it may send an NCF. The NAKing receiver transport responds to the NCF by waiting (timeout set by transport_lbtru_nak_suppress_interval (receiver), default 1000 ms), then re-sending the NAK.
lbm_ulong_t lbm_src_transport_stats_lbtru_t_stct::naks_rx_delay_ignored |
Number of NAKs this source transport has not yet processed because doing so would exceed its retransmit rate limit (set by configuration option transport_lbtru_retransmit_rate_limit (context), default 5Mbps). (Cumulative)
For each of these NAKs, the source transport immediately sends an NFC rx_delay, then queues the retransmission for a later send within the rate limit. If this count is high, one or more crybaby receiver transports may be clogging the source transport's retransmit queue.
lbm_ulong_t lbm_src_transport_stats_lbtru_t_stct::naks_shed |
Number of NAKs this source transport has shed by sending an NCF with reason code "shed". (Cumulative)
When a source transport's retransmit rate limiter and retransmit queue are both at maximum, it responds to a NAK by sending an "NCF shed", and does not retransmit. The receiver transport should wait, then send another NAK. If this count is high, one or more crybaby receiver transports may be clogging the source transport's retransmit queue.
lbm_ulong_t lbm_src_transport_stats_lbtru_t_stct::rx_bytes_sent |
Number of LBT-RU transport total bytes retransmitted by this source transport (triggered under the same circumstances as rxs_sent, above). (Cumulative)
In a normal, light-loss scenario, most NAKs induce a retransmission. When losses becomes heavy and/or many receiver transports begin losing the same LBT-RU datagrams, NCF-related no-retransmit counts (naks_ignored, naks_shed and naks_rx_delay_ignored) may begin to inflate, and retransmissions (rxs_sent/rx_bytes_sent counts) may become significantly lower than NAKS received (naks_rcved).
lbm_ulong_t lbm_src_transport_stats_lbtru_t_stct::rxs_sent |
Number of LBT-RU datagrams retransmitted by this source transport (incremented under the same circumstances as rx_bytes_sent, below). (Cumulative)
In a normal, light-loss scenario, most NAKs induce a retransmission. When losses becomes heavy and/or many receiver transports begin losing the same LBT-RU datagrams, NCF-related no-retransmit counts (naks_ignored, naks_shed and naks_rx_delay_ignored) may begin to inflate, and retransmissions (rxs_sent/rx_bytes_sent counts) may become significantly lower than NAKS received (naks_rcved).