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

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_FORMATION
 
#define PACKHD_XCODE_OBJ(ptr)   M0_XCODE_OBJ(m0_rpc_packet_onwire_header_xc, ptr)
 
#define PACKFT_XCODE_OBJ(ptr)   M0_XCODE_OBJ(m0_rpc_packet_onwire_footer_xc, ptr)
 

Functions

 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)
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_FORMATION

Definition at line 23 of file packet.c.