|
| M0_TL_DESCR_DEFINE (rpcbulk, "rpc bulk buffer list", M0_INTERNAL, struct m0_rpc_bulk_buf, bb_link, bb_magic, M0_RPC_BULK_BUF_MAGIC, M0_RPC_BULK_MAGIC) |
|
| M0_TL_DEFINE (rpcbulk, M0_INTERNAL, struct m0_rpc_bulk_buf) |
|
static bool | rpc_bulk_buf_invariant (const struct m0_rpc_bulk_buf *rbuf) |
|
static bool | rpc_bulk_invariant (const struct m0_rpc_bulk *rbulk) |
|
static void | rpc_bulk_buf_deregister (struct m0_rpc_bulk_buf *buf) |
|
static void | rpc_bulk_buf_fini (struct m0_rpc_bulk_buf *rbuf) |
|
static int | rpc_bulk_buf_init (struct m0_rpc_bulk_buf *rbuf, uint32_t segs_nr, m0_bcount_t length, struct m0_net_buffer *nb) |
|
M0_INTERNAL void | m0_rpc_bulk_default_cb (const struct m0_net_buffer_event *evt) |
|
M0_INTERNAL size_t | m0_rpc_bulk_store_del_unqueued (struct m0_rpc_bulk *rbulk) |
|
M0_INTERNAL void | m0_rpc_bulk_store_del (struct m0_rpc_bulk *rbulk) |
|
M0_INTERNAL void | m0_rpc_bulk_init (struct m0_rpc_bulk *rbulk) |
|
M0_INTERNAL void | m0_rpc_bulk_fini (struct m0_rpc_bulk *rbulk) |
|
M0_INTERNAL void | m0_rpc_bulk_buflist_empty (struct m0_rpc_bulk *rbulk) |
|
M0_INTERNAL int | m0_rpc_bulk_buf_add (struct m0_rpc_bulk *rbulk, uint32_t segs_nr, m0_bcount_t length, struct m0_net_domain *netdom, struct m0_net_buffer *nb, struct m0_rpc_bulk_buf **out) |
|
M0_INTERNAL int | m0_rpc_bulk_buf_databuf_add (struct m0_rpc_bulk_buf *rbuf, void *buf, m0_bcount_t count, m0_bindex_t index, struct m0_net_domain *netdom) |
|
M0_INTERNAL void | m0_rpc_bulk_qtype (struct m0_rpc_bulk *rbulk, enum m0_net_queue_type q) |
|
static void | addb2_add_rpc_bulk_attr (struct m0_rpc_bulk *rbulk, enum m0_rpc_bulk_op_type op, uint32_t buf_nr, uint64_t seg_nr) |
|
static int | rpc_bulk_op (struct m0_rpc_bulk *rbulk, const struct m0_rpc_conn *conn, struct m0_net_buf_desc_data *descs, enum m0_rpc_bulk_op_type op, const struct m0_net_buffer_callbacks *bulk_cb) |
|
M0_INTERNAL int | m0_rpc_bulk_store (struct m0_rpc_bulk *rbulk, const struct m0_rpc_conn *conn, struct m0_net_buf_desc_data *to_desc, const struct m0_net_buffer_callbacks *bulk_cb) |
|
M0_INTERNAL int | m0_rpc_bulk_load (struct m0_rpc_bulk *rbulk, const struct m0_rpc_conn *conn, struct m0_net_buf_desc_data *from_desc, const struct m0_net_buffer_callbacks *bulk_cb) |
|
M0_INTERNAL bool | m0_rpc_bulk_is_empty (struct m0_rpc_bulk *rbulk) |
|
M0_INTERNAL size_t | m0_rpc_bulk_buf_length (struct m0_rpc_bulk *rbulk) |
|
static bool | itemq_invariant (const struct m0_tl *q) |
|
static m0_bcount_t | itemq_nr_bytes_acc (const struct m0_tl *q) |
|
static enum m0_rpc_frm_itemq_type | frm_which_qtype (struct m0_rpc_frm *frm, const struct m0_rpc_item *item) |
|
static bool | frm_is_idle (const struct m0_rpc_frm *frm) |
|
static void | frm_insert (struct m0_rpc_frm *frm, struct m0_rpc_item *item) |
|
static void | frm_remove (struct m0_rpc_frm *frm, struct m0_rpc_item *item) |
|
static void | __itemq_insert (struct m0_tl *q, struct m0_rpc_item *new_item) |
|
static void | __itemq_remove (struct m0_rpc_item *item) |
|
static void | frm_balance (struct m0_rpc_frm *frm) |
|
static bool | frm_is_ready (const struct m0_rpc_frm *frm) |
|
static void | frm_fill_packet (struct m0_rpc_frm *frm, struct m0_rpc_packet *p) |
|
static void | frm_fill_packet_from_item_sources (struct m0_rpc_frm *frm, struct m0_rpc_packet *p) |
|
static int | frm_packet_ready (struct m0_rpc_frm *frm, struct m0_rpc_packet *p) |
|
static void | frm_try_merging_item (struct m0_rpc_frm *frm, struct m0_rpc_item *item, m0_bcount_t limit) |
|
static bool | item_less_or_equal (const struct m0_rpc_item *i0, const struct m0_rpc_item *i1) |
|
static void | item_move_to_urgent_queue (struct m0_rpc_frm *frm, struct m0_rpc_item *item) |
|
static m0_bcount_t | available_space_in_packet (const struct m0_rpc_packet *p, const struct m0_rpc_frm *frm) |
|
static bool | item_will_exceed_packet_size (struct m0_rpc_item *item, const struct m0_rpc_packet *p, const struct m0_rpc_frm *frm) |
|
static bool | item_supports_merging (const struct m0_rpc_item *item) |
|
static void | drop_all_items (struct m0_rpc_frm *frm) |
|
static bool | constraints_are_valid (const struct m0_rpc_frm_constraints *constraints) |
|
| M0_BASSERT (ARRAY_SIZE(str_qtype)==FRMQ_NR_QUEUES) |
|
| M0_TL_DESCR_DEFINE (itemq, "rpc_itemq", M0_INTERNAL, struct m0_rpc_item, ri_iq_link, ri_magic, M0_RPC_ITEM_MAGIC, M0_RPC_ITEMQ_HEAD_MAGIC) |
|
| M0_TL_DEFINE (itemq, M0_INTERNAL, struct m0_rpc_item) |
|
static bool | frm_invariant (const struct m0_rpc_frm *frm) |
|
M0_INTERNAL struct m0_rpc_chan * | frm_rchan (const struct m0_rpc_frm *frm) |
|
M0_INTERNAL struct m0_rpc_machine * | frm_rmachine (const struct m0_rpc_frm *frm) |
|
static bool | frm_rmachine_is_locked (const struct m0_rpc_frm *frm) |
|
M0_INTERNAL void | m0_rpc_frm_constraints_get_defaults (struct m0_rpc_frm_constraints *c) |
|
M0_INTERNAL void | m0_rpc_frm_init (struct m0_rpc_frm *frm, struct m0_rpc_frm_constraints *constraints, const struct m0_rpc_frm_ops *ops) |
|
M0_INTERNAL void | m0_rpc_frm_fini (struct m0_rpc_frm *frm) |
|
M0_INTERNAL void | m0_rpc_frm_enq_item (struct m0_rpc_frm *frm, struct m0_rpc_item *item) |
|
M0_INTERNAL bool | item_is_in_waiting_queue (const struct m0_rpc_item *item, const struct m0_rpc_frm *frm) |
|
M0_INTERNAL void | m0_rpc_frm_item_deadline_passed (struct m0_rpc_frm *frm, struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_frm_remove_item (struct m0_rpc_frm *frm, struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_frm_run_formation (struct m0_rpc_frm *frm) |
|
M0_INTERNAL void | m0_rpc_frm_packet_done (struct m0_rpc_packet *p) |
|
M0_INTERNAL struct m0_rpc_frm * | session_frm (const struct m0_rpc_session *s) |
|
| M0_TL_DESCR_DECLARE (itemq, M0_EXTERN) |
|
| M0_TL_DECLARE (itemq, M0_INTERNAL, struct m0_rpc_item) |
|
static int | packet_ready (struct m0_rpc_packet *p) |
|
static int | net_buffer_allocate (struct m0_net_buffer *netbuf, struct m0_net_domain *ndom, m0_bcount_t buf_size) |
|
static void | net_buffer_free (struct m0_net_buffer *netbuf, struct m0_net_domain *ndom) |
|
static void | bufvec_geometry (struct m0_net_domain *ndom, m0_bcount_t buf_size, int32_t *out_nr_segments, m0_bcount_t *out_segment_size) |
|
static void | item_done (struct m0_rpc_packet *p, struct m0_rpc_item *item, int rc) |
|
static void | item_fail (struct m0_rpc_packet *p, struct m0_rpc_item *item, int rc) |
|
static void | item_sent (struct m0_rpc_item *item) |
|
| M0_BOB_DEFINE (static, &rpc_buffer_bob_type, rpc_buffer) |
|
static int | rpc_buffer_init (struct rpc_buffer *rpcbuf, struct m0_rpc_packet *p) |
|
static int | rpc_buffer_submit (struct rpc_buffer *rpcbuf) |
|
static void | rpc_buffer_fini (struct rpc_buffer *rpcbuf) |
|
static void | buf_send_cb (const struct m0_net_buffer_event *ev) |
|
static struct m0_rpc_machine * | rpc_buffer__rmachine (const struct rpc_buffer *rpcbuf) |
|
static int | item_entered_in_urgent_state (struct m0_sm *mach) |
|
static void | item_timer_cb (struct m0_sm_timer *timer) |
|
static void | item_timedout (struct m0_rpc_item *item) |
|
static void | item_resend (struct m0_rpc_item *item) |
|
static int | item_reply_received (struct m0_rpc_item *reply, struct m0_rpc_item **req_out) |
|
static bool | item_reply_received_fi (struct m0_rpc_item *req, struct m0_rpc_item *reply) |
|
static int | req_replied (struct m0_rpc_item *req, struct m0_rpc_item *reply) |
|
static void | rpc_item_xid_unassign (struct m0_rpc_item *item) |
|
| M0_TL_DESCR_DEFINE (rpcitem, "rpc item tlist", M0_INTERNAL, struct m0_rpc_item, ri_field, ri_magic, M0_RPC_ITEM_MAGIC, M0_RPC_ITEM_HEAD_MAGIC) |
|
| M0_TL_DEFINE (rpcitem, M0_INTERNAL, struct m0_rpc_item) |
|
| M0_TL_DESCR_DEFINE (rit, "rpc_item_type_descr", static, struct m0_rpc_item_type, rit_linkage, rit_magic, M0_RPC_ITEM_TYPE_MAGIC, M0_RPC_ITEM_TYPE_HEAD_MAGIC) |
|
| M0_TL_DEFINE (rit, static, struct m0_rpc_item_type) |
|
| M0_TL_DESCR_DEFINE (ric, "rpc item cache", M0_INTERNAL, struct m0_rpc_item, ri_cache_link, ri_magic, M0_RPC_ITEM_MAGIC, M0_RPC_ITEM_CACHE_HEAD_MAGIC) |
|
| M0_TL_DEFINE (ric, M0_INTERNAL, struct m0_rpc_item) |
|
| M0_TL_DESCR_DEFINE (pending_item, "pending-item-list", M0_INTERNAL, struct m0_rpc_item, ri_pending_link, ri_magic, M0_RPC_ITEM_MAGIC, M0_RPC_ITEM_PENDING_CACHE_HEAD_MAGIC) |
|
| M0_TL_DEFINE (pending_item, M0_INTERNAL, struct m0_rpc_item) |
|
| M0_TL_DESCR_DEFINE (xidl, "rpc session xid list", M0_INTERNAL, struct m0_rpc_item, ri_xid_link, ri_magic, M0_RPC_ITEM_MAGIC, M0_RPC_ITEM_XID_LIST_HEAD_MAGIC) |
|
| M0_TL_DEFINE (xidl, M0_INTERNAL, struct m0_rpc_item) |
|
static bool | opcode_is_dup (uint32_t opcode) |
|
M0_INTERNAL int | m0_rpc_item_module_init (void) |
|
M0_INTERNAL void | m0_rpc_item_module_fini (void) |
|
M0_INTERNAL void | m0_rpc_item_type_register (struct m0_rpc_item_type *item_type) |
|
M0_INTERNAL void | m0_rpc_item_type_deregister (struct m0_rpc_item_type *item_type) |
|
M0_INTERNAL struct m0_rpc_item_type * | m0_rpc_item_type_lookup (uint32_t opcode) |
|
M0_INTERNAL bool | m0_rpc_item_invariant (const struct m0_rpc_item *item) |
|
M0_INTERNAL const char * | item_state_name (const struct m0_rpc_item *item) |
|
M0_INTERNAL const char * | item_kind (const struct m0_rpc_item *item) |
|
void | m0_rpc_item_init (struct m0_rpc_item *item, const struct m0_rpc_item_type *itype) |
|
void | m0_rpc_item_fini (struct m0_rpc_item *item) |
|
void | m0_rpc_item_get (struct m0_rpc_item *item) |
|
void | m0_rpc_item_put (struct m0_rpc_item *item) |
|
void | m0_rpc_item_put_lock (struct m0_rpc_item *item) |
|
m0_bcount_t | m0_rpc_item_size (struct m0_rpc_item *item) |
|
m0_bcount_t | m0_rpc_item_payload_size (struct m0_rpc_item *item) |
|
M0_INTERNAL bool | m0_rpc_item_max_payload_exceeded (struct m0_rpc_item *item, struct m0_rpc_session *session) |
|
M0_INTERNAL bool | m0_rpc_item_is_update (const struct m0_rpc_item *item) |
|
M0_INTERNAL bool | m0_rpc_item_is_request (const struct m0_rpc_item *item) |
|
M0_INTERNAL bool | m0_rpc_item_is_reply (const struct m0_rpc_item *item) |
|
M0_INTERNAL bool | m0_rpc_item_is_oneway (const struct m0_rpc_item *item) |
|
static bool | rpc_item_needs_xid (const struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_xid_min_update (struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_xid_assign (struct m0_rpc_item *item) |
|
M0_INTERNAL bool | m0_rpc_item_xid_check (struct m0_rpc_item *item, struct m0_rpc_item **next) |
|
M0_INTERNAL void | m0_rpc_item_sm_init (struct m0_rpc_item *item, enum m0_rpc_item_dir dir) |
|
M0_INTERNAL void | m0_rpc_item_sm_fini (struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_change_state (struct m0_rpc_item *item, enum m0_rpc_item_state state) |
|
M0_INTERNAL void | m0_rpc_item_failed (struct m0_rpc_item *item, int32_t rc) |
|
int | m0_rpc_item_timedwait (struct m0_rpc_item *item, uint64_t states, m0_time_t timeout) |
|
int | m0_rpc_item_wait_for_reply (struct m0_rpc_item *item, m0_time_t timeout) |
|
static void | item_cancel_fi (struct m0_rpc_item *item) |
|
void | m0_rpc_item_cancel_nolock (struct m0_rpc_item *item) |
|
void | m0_rpc_item_cancel (struct m0_rpc_item *item) |
|
void | m0_rpc_item_cancel_init (struct m0_rpc_item *item) |
|
int32_t | m0_rpc_item_error (const struct m0_rpc_item *item) |
|
M0_INTERNAL int | m0_rpc_item_timer_start (struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_timer_stop (struct m0_rpc_item *item) |
|
static int | item_conn_test (struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_send (struct m0_rpc_item *item) |
|
M0_INTERNAL const char * | m0_rpc_item_remote_ep_addr (const struct m0_rpc_item *item) |
|
M0_INTERNAL const char * | m0_rpc_item_opname (const struct m0_rpc_item *item) |
|
M0_INTERNAL const char * | m0_rpc_item_type_name (const struct m0_rpc_item_type *item_type) |
|
M0_INTERNAL int | m0_rpc_item_received (struct m0_rpc_item *item, struct m0_rpc_machine *machine) |
|
static void | item__on_reply_postprocess (struct m0_rpc_item *item) |
|
static void | addb2_add_rpc_attrs (const struct m0_rpc_item *req) |
|
M0_INTERNAL void | m0_rpc_item_process_reply (struct m0_rpc_item *req, struct m0_rpc_item *reply) |
|
M0_INTERNAL void | m0_rpc_item_send_reply (struct m0_rpc_item *req, struct m0_rpc_item *reply) |
|
M0_INTERNAL int | m0_rpc_item_cache_init (struct m0_rpc_item_cache *ic, struct m0_mutex *lock) |
|
M0_INTERNAL void | m0_rpc_item_cache_fini (struct m0_rpc_item_cache *ic) |
|
M0_INTERNAL bool | m0_rpc_item_cache__invariant (struct m0_rpc_item_cache *ic) |
|
M0_INTERNAL bool | m0_rpc_item_cache_add (struct m0_rpc_item_cache *ic, struct m0_rpc_item *item, m0_time_t deadline) |
|
static void | rpc_item_cache_del (struct m0_rpc_item_cache *ic, struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_cache_del (struct m0_rpc_item_cache *ic, uint64_t xid) |
|
M0_INTERNAL struct m0_rpc_item * | m0_rpc_item_cache_lookup (struct m0_rpc_item_cache *ic, uint64_t xid) |
|
M0_INTERNAL void | m0_rpc_item_cache_purge (struct m0_rpc_item_cache *ic) |
|
M0_INTERNAL void | m0_rpc_item_cache_clear (struct m0_rpc_item_cache *ic) |
|
M0_INTERNAL void | m0_rpc_item_xid_list_init (struct m0_rpc_session *session) |
|
M0_INTERNAL void | m0_rpc_item_xid_list_fini (struct m0_rpc_session *session) |
|
M0_INTERNAL void | m0_rpc_item_pending_cache_init (struct m0_rpc_session *session) |
|
static void | pending_cache_drain (struct m0_rpc_session *session) |
|
M0_INTERNAL void | m0_rpc_item_pending_cache_fini (struct m0_rpc_session *session) |
|
M0_INTERNAL void | m0_rpc_item_pending_cache_add (struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_pending_cache_del (struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_replied_invoke (struct m0_rpc_item *req) |
|
M0_INTERNAL void | m0_rpc_item_sent_invoke (struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_item_ha_timer_stop (struct m0_rpc_item *item) |
|
| M0_TL_DESCR_DEFINE (item_source, "item-source-list", M0_INTERNAL, struct m0_rpc_item_source, ris_tlink, ris_magic, M0_RPC_ITEM_SOURCE_MAGIC, M0_RPC_ITEM_SOURCE_HEAD_MAGIC) |
|
| M0_TL_DEFINE (item_source, M0_INTERNAL, struct m0_rpc_item_source) |
|
static bool | item_source_invariant (const struct m0_rpc_item_source *ris) |
|
void | m0_rpc_item_source_init (struct m0_rpc_item_source *ris, const char *name, const struct m0_rpc_item_source_ops *ops) |
|
void | m0_rpc_item_source_fini (struct m0_rpc_item_source *ris) |
|
bool | m0_rpc_item_source_is_registered (const struct m0_rpc_item_source *ris) |
|
void | m0_rpc_item_source_register_locked (struct m0_rpc_conn *conn, struct m0_rpc_item_source *ris) |
|
void | m0_rpc_item_source_register (struct m0_rpc_conn *conn, struct m0_rpc_item_source *ris) |
|
void | m0_rpc_item_source_deregister (struct m0_rpc_item_source *ris) |
|
M0_INTERNAL int | m0_rpc_item_header1_encdec (struct m0_rpc_item_header1 *ioh, struct m0_bufvec_cursor *cur, enum m0_xcode_what what) |
|
M0_INTERNAL int | m0_rpc_item_header2_encdec (struct m0_rpc_item_header2 *ioh, struct m0_bufvec_cursor *cur, enum m0_xcode_what what) |
|
M0_INTERNAL int | m0_rpc_item_footer_encdec (struct m0_rpc_item_footer *iof, struct m0_bufvec_cursor *cur, enum m0_xcode_what what) |
|
struct m0_rpc_packet_onwire_header | M0_XCA_DOMAIN (rpc) |
|
| M0_TL_DESCR_DEFINE (packet_item, "packet_item", M0_INTERNAL, struct m0_rpc_item, ri_plink, ri_magic, M0_RPC_ITEM_MAGIC, M0_RPC_PACKET_HEAD_MAGIC) |
|
| M0_TL_DEFINE (packet_item, M0_INTERNAL, struct m0_rpc_item) |
|
M0_INTERNAL m0_bcount_t | m0_rpc_packet_onwire_header_size (void) |
|
M0_INTERNAL m0_bcount_t | m0_rpc_packet_onwire_footer_size (void) |
|
M0_INTERNAL bool | m0_rpc_packet_invariant (const struct m0_rpc_packet *p) |
|
M0_INTERNAL void | m0_rpc_packet_init (struct m0_rpc_packet *p, struct m0_rpc_machine *rmach) |
|
M0_INTERNAL void | m0_rpc_packet_fini (struct m0_rpc_packet *p) |
|
M0_INTERNAL void | m0_rpc_packet_discard (struct m0_rpc_packet *packet) |
|
M0_INTERNAL void | m0_rpc_packet_add_item (struct m0_rpc_packet *p, struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_packet_remove_item (struct m0_rpc_packet *p, struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_packet_remove_all_items (struct m0_rpc_packet *p) |
|
M0_INTERNAL bool | m0_rpc_packet_is_carrying_item (const struct m0_rpc_packet *p, const struct m0_rpc_item *item) |
|
M0_INTERNAL bool | m0_rpc_packet_is_empty (const struct m0_rpc_packet *p) |
|
M0_INTERNAL int | m0_rpc_packet_encode (struct m0_rpc_packet *p, struct m0_bufvec *bufvec) |
|
static int | packet_header_encdec (struct m0_rpc_packet_onwire_header *ph, struct m0_bufvec_cursor *cursor, enum m0_xcode_what what) |
|
static int | packet_footer_encdec (struct m0_rpc_packet_onwire_footer *pf, struct m0_bufvec_cursor *cursor, enum m0_xcode_what what) |
|
static int | item_encode (struct m0_rpc_item *item, struct m0_bufvec_cursor *cursor) |
|
M0_INTERNAL int | m0_rpc_packet_encode_using_cursor (struct m0_rpc_packet *packet, struct m0_bufvec_cursor *cursor) |
|
M0_INTERNAL int | m0_rpc_packet_decode (struct m0_rpc_packet *p, struct m0_bufvec *bufvec, m0_bindex_t off, m0_bcount_t len) |
|
static int | item_decode (struct m0_bufvec_cursor *cursor, struct m0_rpc_item **item_out) |
|
M0_INTERNAL int | m0_rpc_packet_decode_using_cursor (struct m0_rpc_packet *p, struct m0_bufvec_cursor *cursor, m0_bcount_t len) |
|
M0_INTERNAL void | m0_rpc_packet_traverse_items (struct m0_rpc_packet *p, item_visit_fn *visit, int opaque_data) |
|
| M0_TL_DESCR_DECLARE (packet_item, M0_EXTERN) |
|
| M0_TL_DECLARE (packet_item, M0_INTERNAL, struct m0_rpc_item) |
|
M0_INTERNAL int | m0_rpc_init (void) |
|
M0_INTERNAL void | m0_rpc_fini (void) |
|
M0_INTERNAL int | m0_rpc_post (struct m0_rpc_item *item) |
|
M0_INTERNAL int | m0_rpc__post_locked (struct m0_rpc_item *item) |
|
void | m0_rpc_reply_post (struct m0_rpc_item *request, struct m0_rpc_item *reply) |
|
M0_INTERNAL void | m0_rpc_oneway_item_post (const struct m0_rpc_conn *conn, struct m0_rpc_item *item) |
|
M0_INTERNAL void | m0_rpc_oneway_item_post_locked (const struct m0_rpc_conn *conn, struct m0_rpc_item *item) |
|
M0_INTERNAL int | m0_rpc_reply_timedwait (struct m0_clink *clink, const m0_time_t timeout) |
|
static void | rpc_buffer_pool_low (struct m0_net_buffer_pool *bp) |
|
M0_INTERNAL int | m0_rpc_net_buffer_pool_setup (struct m0_net_domain *ndom, struct m0_net_buffer_pool *app_pool, uint32_t bufs_nr, uint32_t tm_nr) |
|
void | m0_rpc_net_buffer_pool_cleanup (struct m0_net_buffer_pool *app_pool) |
|
M0_INTERNAL uint32_t | m0_rpc_bufs_nr (uint32_t len, uint32_t tms_nr) |
|
M0_INTERNAL m0_bcount_t | m0_rpc_max_seg_size (struct m0_net_domain *ndom) |
|
M0_INTERNAL uint32_t | m0_rpc_max_segs_nr (struct m0_net_domain *ndom) |
|
M0_INTERNAL m0_bcount_t | m0_rpc_max_msg_size (struct m0_net_domain *ndom, m0_bcount_t rpc_size) |
|
M0_INTERNAL uint32_t | m0_rpc_max_recv_msgs (struct m0_net_domain *ndom, m0_bcount_t rpc_size) |
|
M0_INTERNAL m0_time_t | m0_rpc__down_timeout (void) |
|
M0_INTERNAL int | m0_rpc_session_module_init (void) |
|
M0_INTERNAL void | m0_rpc_session_module_fini (void) |
|
M0_INTERNAL void | rpc_worker_thread_fn (struct m0_rpc_machine *machine) |
|
M0_INTERNAL int | m0_rpc__fop_post (struct m0_fop *fop, struct m0_rpc_session *session, const struct m0_rpc_item_ops *ops, m0_time_t abs_timeout) |
|
M0_INTERNAL int | m0_rpc_item_dispatch (struct m0_rpc_item *item) |
|
M0_INTERNAL uint64_t | m0_rpc_id_generate (const struct m0_fid *uniq_fid) |
|
M0_INTERNAL int | m0_rpc_service_start (struct m0_reqh *reqh) |
|
M0_INTERNAL void | m0_rpc_service_stop (struct m0_reqh *reqh) |
|
| M0_TL_DESCR_DECLARE (item_source, M0_EXTERN) |
|
| M0_TL_DECLARE (item_source, M0_INTERNAL, struct m0_rpc_item_source) |
|
static struct m0_rpc_conn * | item2conn (const struct m0_rpc_item *item) |
|
static void | rpc_tm_cleanup (struct m0_rpc_machine *machine) |
|
static int | rpc_tm_setup (struct m0_net_transfer_mc *tm, struct m0_net_domain *net_dom, const char *ep_addr, struct m0_net_buffer_pool *pool, uint32_t colour, m0_bcount_t msg_size, uint32_t qlen) |
|
static int | __rpc_machine_init (struct m0_rpc_machine *machine) |
|
static void | __rpc_machine_fini (struct m0_rpc_machine *machine) |
|
static struct m0_rpc_chan * | rpc_chan_locate (struct m0_rpc_machine *machine, struct m0_net_end_point *dest_ep) |
|
static int | rpc_chan_create (struct m0_rpc_chan **chan, struct m0_rpc_machine *machine, struct m0_net_end_point *dest_ep, uint64_t max_packets_in_flight) |
|
static void | rpc_chan_ref_release (struct m0_ref *ref) |
|
static void | rpc_recv_pool_buffer_put (struct m0_net_buffer *nb) |
|
static void | buf_recv_cb (const struct m0_net_buffer_event *ev) |
|
static void | net_buf_received (struct m0_net_buffer *nb, m0_bindex_t offset, m0_bcount_t length, struct m0_net_end_point *from_ep) |
|
static void | packet_received (struct m0_rpc_packet *p, struct m0_rpc_machine *machine, struct m0_net_end_point *from_ep) |
|
static void | item_received (struct m0_rpc_item *item, struct m0_net_end_point *from_ep) |
|
static void | net_buf_err (struct m0_net_buffer *nb, int32_t status) |
|
| M0_BOB_DEFINE (, &rpc_machine_bob_type, m0_rpc_machine) |
|
| M0_TL_DESCR_DEFINE (rpc_chan, "rpc_channels", static, struct m0_rpc_chan, rc_linkage, rc_magic, M0_RPC_CHAN_MAGIC, M0_RPC_CHAN_HEAD_MAGIC) |
|
| M0_TL_DEFINE (rpc_chan, static, struct m0_rpc_chan) |
|
| M0_TL_DESCR_DEFINE (rmach_watch, "rpc_machine_watch", M0_INTERNAL, struct m0_rpc_machine_watch, mw_linkage, mw_magic, M0_RPC_MACHINE_WATCH_MAGIC, M0_RPC_MACHINE_WATCH_HEAD_MAGIC) |
|
| M0_TL_DEFINE (rmach_watch, M0_INTERNAL, struct m0_rpc_machine_watch) |
|
| M0_TL_DESCR_DEFINE (rpc_conn, "rpc-conn", M0_INTERNAL, struct m0_rpc_conn, c_link, c_magic, M0_RPC_CONN_MAGIC, M0_RPC_CONN_HEAD_MAGIC) |
|
| M0_TL_DEFINE (rpc_conn, M0_INTERNAL, struct m0_rpc_conn) |
|
static void | rpc_tm_event_cb (const struct m0_net_tm_event *ev) |
|
M0_INTERNAL int | m0_rpc_machine_init (struct m0_rpc_machine *machine, struct m0_net_domain *net_dom, const char *ep_addr, struct m0_reqh *reqh, struct m0_net_buffer_pool *receive_pool, uint32_t colour, m0_bcount_t msg_size, uint32_t queue_len) |
|
static void | machine_nb_idle (struct m0_rpc_machine *machine) |
|
void | m0_rpc_machine_fini (struct m0_rpc_machine *machine) |
|
static bool | rpc_conn__on_finalised_cb (struct m0_clink *clink) |
|
M0_INTERNAL void | m0_rpc_machine_cleanup_incoming_connections (struct m0_rpc_machine *machine) |
|
M0_INTERNAL void | m0_rpc_machine_drain_item_sources (struct m0_rpc_machine *machine, uint32_t max_per_source) |
|
static struct m0_rpc_machine * | tm_to_rpc_machine (const struct m0_net_transfer_mc *tm) |
|
M0_INTERNAL void | m0_rpc_machine_lock (struct m0_rpc_machine *machine) |
|
M0_INTERNAL void | m0_rpc_machine_unlock (struct m0_rpc_machine *machine) |
|
M0_INTERNAL bool | m0_rpc_machine_is_locked (const struct m0_rpc_machine *machine) |
|
M0_INTERNAL bool | m0_rpc_machine_is_not_locked (const struct m0_rpc_machine *machine) |
|
static void | __rpc_machine_get_stats (struct m0_rpc_machine *machine, struct m0_rpc_stats *stats, bool reset) |
|
void | m0_rpc_machine_get_stats (struct m0_rpc_machine *machine, struct m0_rpc_stats *stats, bool reset) |
|
M0_INTERNAL const char * | m0_rpc_machine_ep (const struct m0_rpc_machine *rmach) |
|
M0_INTERNAL void | m0_rpc_machine_add_conn (struct m0_rpc_machine *rmach, struct m0_rpc_conn *conn) |
|
M0_INTERNAL struct m0_rpc_chan * | rpc_chan_get (struct m0_rpc_machine *machine, struct m0_net_end_point *dest_ep, uint64_t max_packets_in_flight) |
|
M0_INTERNAL void | rpc_chan_put (struct m0_rpc_chan *chan) |
|
M0_INTERNAL struct m0_rpc_conn * | m0_rpc_machine_find_conn (const struct m0_rpc_machine *machine, const struct m0_rpc_item *item) |
|
static bool | item_received_fi (struct m0_rpc_item *item) |
|
void | m0_rpc_machine_watch_attach (struct m0_rpc_machine_watch *watch) |
|
void | m0_rpc_machine_watch_detach (struct m0_rpc_machine_watch *watch) |
|
| M0_BOB_DECLARE (extern, m0_rpc_machine) |
|
| M0_TL_DESCR_DECLARE (rpc_conn, M0_EXTERN) |
|
| M0_TL_DECLARE (rpc_conn, M0_INTERNAL, struct m0_rpc_conn) |
|
| M0_TL_DESCR_DECLARE (rmach_watch, M0_EXTERN) |
|
| M0_TL_DECLARE (rmach_watch, M0_INTERNAL, struct m0_rpc_machine_watch) |
|
static int | item_source_test_suite_init (void) |
|
static int | item_source_test_suite_fini (void) |
|
static bool | has_item (const struct m0_rpc_item_source *ris) |
|
static struct m0_rpc_item * | get_item (struct m0_rpc_item_source *ris, size_t max_payload_size) |
|
static void | conn_terminating (struct m0_rpc_item_source *ris) |
|
static void | item_source_basic_test (void) |
|
static void | item_source_limits_test (void) |
|
static void | item_source_test (void) |
|
static void | conn_terminating_cb_test (void) |
|
This file is a centralized (temporary) location for opcodes. An opcode is an rpc item type attribute which uniquely identifies an rpc item type.