UM C API  6.16
lbm_src_transport_stats_lbtru_t_stct Struct Reference

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...
 

Detailed Description

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.

Field Documentation

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).


The documentation for this struct was generated from the following file: