Motr  M0
net.c File Reference
#include "lib/trace.h"
#include "lib/tlist.h"
#include "lib/mutex.h"
#include "lib/memory.h"
#include "lib/types.h"
#include "lib/time.h"
#include "motr/magic.h"
#include "fop/fop.h"
#include "rpc/rpc.h"
#include "rpc/conn.h"
#include "rpc/item_source.h"
#include "rpc/rpc_opcodes.h"
#include "addb2/addb2.h"
#include "addb2/addb2_xc.h"
#include "addb2/service.h"
#include "addb2/internal.h"
Include dependency graph for net.c:

Go to the source code of this file.

Data Structures

struct  m0_addb2_net
 
struct  source
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_ADDB
 

Functions

 M0_TL_DESCR_DEFINE (src, "addb2 rpc sources", static, struct source, s_linkage, s_magix, M0_ADDB2_SOURCE_MAGIC, M0_ADDB2_SOURCE_HEAD_MAGIC)
 
 M0_TL_DEFINE (src, static, struct source)
 
static void src_fini (struct source *s)
 
static void net_lock (struct m0_addb2_net *net)
 
static void net_unlock (struct m0_addb2_net *net)
 
static void net_force (struct m0_addb2_net *net)
 
static void net_sent (struct m0_rpc_item *item)
 
static bool net_invariant (const struct m0_addb2_net *net)
 
static void net_fop_init (struct m0_fop *fop, struct m0_addb2_net *net, struct m0_addb2_trace *trace)
 
static bool src_has_item (const struct m0_rpc_item_source *ris)
 
static void src_conn_terminating (struct m0_rpc_item_source *ris)
 
static struct m0_rpc_itemsrc_get_item (struct m0_rpc_item_source *ris, m0_bcount_t size)
 
M0_INTERNAL struct m0_addb2_netm0_addb2_net_init (void)
 
M0_INTERNAL void m0_addb2_net_fini (struct m0_addb2_net *net)
 
M0_INTERNAL int m0_addb2_net_add (struct m0_addb2_net *net, struct m0_rpc_conn *conn)
 
M0_INTERNAL void m0_addb2_net_del (struct m0_addb2_net *net, struct m0_rpc_conn *conn)
 
M0_INTERNAL int m0_addb2_net_submit (struct m0_addb2_net *net, struct m0_addb2_trace_obj *obj)
 
M0_INTERNAL void m0_addb2_net_tick (struct m0_addb2_net *net)
 
M0_INTERNAL void m0_addb2_net_stop (struct m0_addb2_net *net, void(*callback)(struct m0_addb2_net *, void *), void *datum)
 
M0_INTERNAL bool m0_addb2_net__is_not_locked (const struct m0_addb2_net *net)
 
M0_INTERNAL int m0_addb2_net_module_init (void)
 
M0_INTERNAL void m0_addb2_net_module_fini (void)
 

Variables

static const struct m0_rpc_item_source_ops src_ops
 
static struct m0_fop_type net_fopt
 
static const struct m0_rpc_item_ops net_rpc_ops
 
static const m0_time_t IDLE_THRESHOLD = M0_MKTIME(10, 0)