Motr
M0
|
#include <item.h>
Data Fields | |
enum m0_rpc_item_priority | ri_prio |
uint64_t | ri_ha_epoch |
m0_time_t | ri_deadline |
m0_time_t | ri_resend_interval |
uint64_t | ri_nr_sent_max |
struct m0_rpc_session * | ri_session |
const struct m0_rpc_item_ops * | ri_ops |
uint32_t | ri_flags |
struct m0_rpc_machine * | ri_rmachine |
int32_t | ri_error |
struct m0_rpc_item * | ri_reply |
struct m0_sm_timeout | ri_deadline_timeout |
struct m0_sm_timer | ri_timer |
struct m0_sm | ri_sm |
uint32_t | ri_nr_sent |
struct m0_rpc_item * | ri_pending_reply |
uint64_t | ri_cookid |
struct m0_rpc_item_header2 | ri_header |
size_t | ri_size |
const struct m0_rpc_item_type * | ri_type |
m0_time_t | ri_rpc_time |
struct m0_tl | ri_compound_items |
struct m0_tlink | ri_field |
struct m0_tlink | ri_iq_link |
struct m0_tlink | ri_plink |
struct m0_rpc_packet * | ri_packet |
struct m0_tl * | ri_itemq |
struct m0_rpc_frm * | ri_frm |
struct m0_tlink | ri_pending_link |
uint64_t | ri_magic |
struct m0_tlink | ri_cache_link |
struct m0_tlink | ri_xid_link |
bool | ri_xid_assigned_here |
m0_time_t | ri_cache_deadline |
A single RPC item, such as a FOP or ADDB Record. This structure should be included in every item being sent via RPC layer core to emulate relationship similar to inheritance and to allow extending the set of rpc_items without modifying core rpc headers.
m0_time_t ri_cache_deadline |
struct m0_tlink ri_cache_link |
Link for m0_rpc_item_cache::ric_items.
uint64_t ri_cookid |
m0_time_t ri_deadline |
struct m0_sm_timeout ri_deadline_timeout |
struct m0_tlink ri_field |
Link through which items are anchored on list of m0_rpc_item:ri_compound_items.
uint32_t ri_flags |
struct m0_rpc_frm* ri_frm |
struct m0_rpc_item_header2 ri_header |
struct m0_tlink ri_iq_link |
Link in one of m0_rpc_frm::f_itemq[] list. List descriptor: itemq
struct m0_tl* ri_itemq |
One of m0_rpc_frm::f_itemq[], in which this item is placed.
uint64_t ri_nr_sent_max |
const struct m0_rpc_item_ops* ri_ops |
struct m0_rpc_packet* ri_packet |
struct m0_tlink ri_pending_link |
Link through which items are anchored on m0_rpc_session::s_pending_cache.
struct m0_rpc_item* ri_pending_reply |
struct m0_tlink ri_plink |
Link in RPC packet. m0_rpc_packet::rp_items List descriptor: packet_item. XXX An item cannot be in itemq and in packet at the same time. Hence, iff needed, ri_iq_link and ri_plink can be replaced with just one tlink.
enum m0_rpc_item_priority ri_prio |
struct m0_rpc_item* ri_reply |
m0_time_t ri_resend_interval |
struct m0_rpc_machine* ri_rmachine |
struct m0_rpc_session* ri_session |
size_t ri_size |
Item size in bytes. header + payload. Set during first call to m0_rpc_item_size() on this item.
struct m0_sm ri_sm |
RPC item state machine.
struct m0_sm_timer ri_timer |
Resend timer.
Invokes item_timer_cb() after every item->ri_resend_interval. item_timer_cb() then decides whether to resend the item or timeout the operation, depending on ri_nr_sent and ri_nr_sent_max.
const struct m0_rpc_item_type* ri_type |
bool ri_xid_assigned_here |
struct m0_tlink ri_xid_link |
Link for m0_rpc_session::s_xid_list.