Motr  M0
bulk.c File Reference
#include "lib/trace.h"
#include "lib/tlist.h"
#include "lib/memory.h"
#include "lib/errno.h"
#include "lib/misc.h"
#include "lib/finject.h"
#include "motr/magic.h"
#include "net/net.h"
#include "rpc/bulk.h"
#include "rpc/addb2.h"
#include "rpc/rpc_internal.h"
Include dependency graph for bulk.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_RPC
 

Functions

 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)
 

Variables

const struct m0_net_buffer_callbacks m0_rpc__buf_bulk_cb
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_RPC

Definition at line 23 of file bulk.c.