Motr  M0
m0_rpc_machine Struct Reference

#include <rpc_machine.h>

Collaboration diagram for m0_rpc_machine:
Collaboration graph

Data Fields

struct m0_sm_group rm_sm_grp
 
struct m0_tl rm_chans
 
struct m0_net_transfer_mc rm_tm
 
struct m0_tl rm_incoming_conns
 
struct m0_tl rm_outgoing_conns
 
struct m0_rpc_stats rm_stats
 
struct m0_reqhrm_reqh
 
struct m0_dtmrm_dtm
 
struct m0_tlink rm_rh_linkage
 
struct m0_tl rm_services
 
struct m0_tl rm_watch
 
struct m0_thread rm_worker
 
struct m0_reqh_servicerm_service
 
bool rm_stopping
 
uint64_t rm_active_nb
 
struct m0_chan rm_nb_idle
 
uint64_t rm_magix
 
uint32_t rm_min_recv_size
 
struct m0_mutex_addb2 rm_lock_stats
 
m0_bcount_t rm_bulk_cutoff
 

Detailed Description

RPC machine is an instance of RPC item (FOP/ADDB) processing context. Several such contexts might be existing simultaneously.

Definition at line 81 of file rpc_machine.h.

Field Documentation

◆ rm_active_nb

uint64_t rm_active_nb

Active (i.e., queued) network buffers.

Definition at line 139 of file rpc_machine.h.

◆ rm_bulk_cutoff

m0_bcount_t rm_bulk_cutoff

RPC bulk cut-off value. If AT buffer size equals or bigger than cut-off value, then it's transmitted via RPC bulk mechanism.

See also
m0_rpc_at_buf

Definition at line 157 of file rpc_machine.h.

◆ rm_chans

struct m0_tl rm_chans

List of m0_rpc_chan objects, linked using rc_linkage. List descriptor: rpc_chan

Definition at line 86 of file rpc_machine.h.

◆ rm_dtm

struct m0_dtm* rm_dtm

Definition at line 106 of file rpc_machine.h.

◆ rm_incoming_conns

struct m0_tl rm_incoming_conns

List of m0_rpc_conn objects, linked using c_link. List descriptor: rpc_conn conn is in list if connection is not in {CONN_UNINITIALISED, CONN_FAILED, CONN_TERMINATED} states.

Definition at line 94 of file rpc_machine.h.

◆ rm_lock_stats

struct m0_mutex_addb2 rm_lock_stats

Definition at line 150 of file rpc_machine.h.

◆ rm_magix

uint64_t rm_magix

Definition at line 142 of file rpc_machine.h.

◆ rm_min_recv_size

uint32_t rm_min_recv_size
See also
m0_net_transfer_mc:ntm_recv_queue_min_recv_size The default value is m0_net_domain_get_max_buffer_size()

Definition at line 148 of file rpc_machine.h.

◆ rm_nb_idle

struct m0_chan rm_nb_idle

Signalled when rm_active_nb drops to 0.

Definition at line 141 of file rpc_machine.h.

◆ rm_outgoing_conns

struct m0_tl rm_outgoing_conns

Definition at line 95 of file rpc_machine.h.

◆ rm_reqh

struct m0_reqh* rm_reqh

Request handler this rpc_machine belongs to.

Todo:
There needs to be generic mechanism to register a request handler (or any other handler for future use) with the rpc machine and a ops vector specifying a method to be invoked for futher processing, e.g. m0_reqh_fop_handle(), in case of reqh.

Definition at line 105 of file rpc_machine.h.

◆ rm_rh_linkage

struct m0_tlink rm_rh_linkage

Linkage into request handler's list of rpc machines. m0_reqh::rh_rpc_machines

Definition at line 111 of file rpc_machine.h.

◆ rm_service

struct m0_reqh_service* rm_service

Definition at line 131 of file rpc_machine.h.

◆ rm_services

struct m0_tl rm_services

List of m0_rpc_service instances placed using svc_tlink. tl_descr: m0_rpc_services_tl

Definition at line 117 of file rpc_machine.h.

◆ rm_sm_grp

struct m0_sm_group rm_sm_grp

Definition at line 82 of file rpc_machine.h.

◆ rm_stats

struct m0_rpc_stats rm_stats

Definition at line 96 of file rpc_machine.h.

◆ rm_stopping

bool rm_stopping

Flag asking rm_worker thread to stop.

Definition at line 135 of file rpc_machine.h.

◆ rm_tm

struct m0_net_transfer_mc rm_tm

Transfer machine associated with this endpoint.

Definition at line 88 of file rpc_machine.h.

◆ rm_watch

struct m0_tl rm_watch

List of m0_rpc_machine_watch instances. tlink: m0_rpc_machine_watch::mw_linkage tlist descr: rmach_watch

Definition at line 124 of file rpc_machine.h.

◆ rm_worker

struct m0_thread rm_worker

Executes ASTs in rm_sm_grp.

Definition at line 129 of file rpc_machine.h.


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