Motr  M0
m0_rpc_item_source Struct Reference

#include <item_source.h>

Collaboration diagram for m0_rpc_item_source:
Collaboration graph

Data Fields

uint64_t ris_magic
 
const char * ris_name
 
const struct m0_rpc_item_source_opsris_ops
 
struct m0_rpc_connris_conn
 
struct m0_tlink ris_tlink
 

Detailed Description

RPC Item source.

Most applications "post" rpc items to RPC. This can be thought of as "push" model where users push items to RPC module to send them.

For some applications, such as ADDB, "pull" model is more efficient. In pull model, RPC module asks application if the later has any item to send.

RPC module can ask for an item iff application has registered an m0_rpc_item_source with m0_rpc_conn. Once registered application should not free the m0_rpc_item_source instance without first deregistering it.

See also
m0_rpc_item_source_ops::riso_conn_terminating.
Note
Current implementation allows item-sources to provide only one-way items.
See also
item_source_invariant()

Definition at line 59 of file item_source.h.

Field Documentation

◆ ris_conn

struct m0_rpc_conn* ris_conn

Definition at line 64 of file item_source.h.

◆ ris_magic

uint64_t ris_magic
See also
M0_RPC_ITEM_SOURCE_MAGIC

Definition at line 61 of file item_source.h.

◆ ris_name

const char* ris_name

Definition at line 62 of file item_source.h.

◆ ris_ops

const struct m0_rpc_item_source_ops* ris_ops

Definition at line 63 of file item_source.h.

◆ ris_tlink

struct m0_tlink ris_tlink

Link in m0_rpc_conn::c_item_sources. List descriptor: item_source

Definition at line 68 of file item_source.h.


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