Motr  M0
m0_net_transfer_mc Struct Reference

#include <net.h>

Collaboration diagram for m0_net_transfer_mc:
Collaboration graph

Data Fields

const struct m0_net_tm_callbacksntm_callbacks
 
enum m0_net_tm_state ntm_state
 
struct m0_sm_group ntm_group
 
uint32_t ntm_callback_counter
 
struct m0_net_domainntm_dom
 
struct m0_tl ntm_end_points
 
struct m0_net_end_pointntm_ep
 
struct m0_chan ntm_chan
 
struct m0_tl ntm_q [M0_NET_QT_NR]
 
struct m0_net_qstats ntm_qstats [M0_NET_QT_NR]
 
struct m0_list_link ntm_dom_linkage
 
void * ntm_xprt_private
 
bool ntm_bev_auto_deliver
 
struct m0_net_buffer_poolntm_recv_pool
 
const struct m0_net_buffer_callbacksntm_recv_pool_callbacks
 
uint32_t ntm_recv_queue_min_length
 
struct m0_atomic64 ntm_recv_queue_deficit
 
uint32_t ntm_pool_colour
 
m0_bcount_t ntm_recv_queue_min_recv_size
 
uint32_t ntm_recv_queue_max_recv_msgs
 

Detailed Description

This data structure tracks message buffers and supports callbacks to notify the application of changes in state associated with these buffers.

Definition at line 811 of file net.h.

Field Documentation

◆ ntm_bev_auto_deliver

bool ntm_bev_auto_deliver

True iff automatic delivery of buffer events will take place.

Definition at line 891 of file net.h.

◆ ntm_callback_counter

uint32_t ntm_callback_counter

Callback activity is tracked by this counter. It is incremented by m0_net_tm_post_event() before invoking a callback, and decremented when it returns.

This counter is used to guarantee that a transfer machine is not finalised while callbacks for it are executing.

Definition at line 850 of file net.h.

◆ ntm_callbacks

const struct m0_net_tm_callbacks* ntm_callbacks

Pointer to application callbacks. Should be set before initialization.

Definition at line 816 of file net.h.

◆ ntm_chan

struct m0_chan ntm_chan

Waiters for event notifications. They do not get copies of the event.

Definition at line 874 of file net.h.

◆ ntm_dom

struct m0_net_domain* ntm_dom

Network domain pointer

Definition at line 853 of file net.h.

◆ ntm_dom_linkage

struct m0_list_link ntm_dom_linkage

Domain linkage (m0_net_domain::nd_tms).

Definition at line 883 of file net.h.

◆ ntm_end_points

struct m0_tl ntm_end_points

List of m0_net_end_point structures. Managed by the transport.

Definition at line 856 of file net.h.

◆ ntm_ep

struct m0_net_end_point* ntm_ep

End point associated with this transfer machine.

Messages sent from this transfer machine appear to have originated from this end point.

It is created internally with the address provided in the call to m0_net_tm_start(). The field is set only upon successful start of the transfer machine. The field is cleared during fini.

Definition at line 868 of file net.h.

◆ ntm_group

struct m0_sm_group ntm_group

Definition at line 821 of file net.h.

◆ ntm_pool_colour

uint32_t ntm_pool_colour

The color assigned to the transfer machine for locality support when provisioning from a buffer pool. The value is initialized to ~0.

Definition at line 921 of file net.h.

◆ ntm_q

struct m0_tl ntm_q[M0_NET_QT_NR]

Lists of m0_net_buffer structures by queue type.

Definition at line 877 of file net.h.

◆ ntm_qstats

struct m0_net_qstats ntm_qstats[M0_NET_QT_NR]

Statistics maintained per logical queue.

Definition at line 880 of file net.h.

◆ ntm_recv_pool

struct m0_net_buffer_pool* ntm_recv_pool

The buffer pool to use for automatic receive queue provisioning.

Definition at line 896 of file net.h.

◆ ntm_recv_pool_callbacks

const struct m0_net_buffer_callbacks* ntm_recv_pool_callbacks

Callbacks structure for automatically allocated receive queue buffers.

Definition at line 902 of file net.h.

◆ ntm_recv_queue_deficit

struct m0_atomic64 ntm_recv_queue_deficit

Atomic variable tracking the number of buffers needed for the receive queue when automatically provisioning and out of buffers.

Definition at line 914 of file net.h.

◆ ntm_recv_queue_max_recv_msgs

uint32_t ntm_recv_queue_max_recv_msgs

Maximum number of messages that may be received in the buffer in TM Receive queue.

Definition at line 933 of file net.h.

◆ ntm_recv_queue_min_length

uint32_t ntm_recv_queue_min_length

Minimum queue length for the receive queue when provisioning automatically. The default value is M0_NET_TM_RECV_QUEUE_DEF_LEN.

Definition at line 908 of file net.h.

◆ ntm_recv_queue_min_recv_size

m0_bcount_t ntm_recv_queue_min_recv_size

Minimum remaining size in a buffer in TM receive queue to allow reuse for multiple messages.

Definition at line 927 of file net.h.

◆ ntm_state

enum m0_net_tm_state ntm_state

Specifies the transfer machine state.

Definition at line 819 of file net.h.

◆ ntm_xprt_private

void* ntm_xprt_private

Transport private data.

Definition at line 886 of file net.h.


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