Motr  M0
remote.c File Reference
#include "lib/trace.h"
#include "lib/misc.h"
#include "rpc/rpc.h"
#include "rpc/rpc_opcodes.h"
#include "fop/fop.h"
#include "reqh/reqh.h"
#include "dtm/dtm_internal.h"
#include "dtm/history.h"
#include "dtm/remote.h"
#include "dtm/remote_xc.h"
Include dependency graph for remote.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_DTM
 

Enumerations

enum  rem_rpc_notification { R_PERSISTENT = 1, R_FIXED = 2, R_RESET = 3, R_UNDO = 4 }
 

Functions

static void rem_rpc_notify (struct m0_dtm_remote *rem, const struct m0_dtm_history *history, m0_dtm_ver_t ver, enum rem_rpc_notification opcode)
 
static int rem_rpc_deliver (struct m0_rpc_machine *mach, struct m0_rpc_item *item)
 
M0_INTERNAL void m0_dtm_remote_add (struct m0_dtm_remote *rem, struct m0_dtm_oper *oper, struct m0_dtm_history *history, struct m0_dtm_update *update)
 
M0_INTERNAL void m0_dtm_remote_init (struct m0_dtm_remote *remote, struct m0_uint128 *id, struct m0_dtm *local)
 
M0_INTERNAL void m0_dtm_remote_fini (struct m0_dtm_remote *remote)
 
M0_INTERNAL void m0_dtm_rpc_remote_init (struct m0_dtm_rpc_remote *remote, struct m0_uint128 *id, struct m0_dtm *local, struct m0_rpc_conn *conn)
 
M0_INTERNAL void m0_dtm_rpc_remote_fini (struct m0_dtm_rpc_remote *remote)
 
static void rem_rpc_persistent (struct m0_dtm_remote *rem, struct m0_dtm_history *history)
 
static void rem_rpc_fixed (struct m0_dtm_remote *rem, struct m0_dtm_history *history)
 
static void rem_rpc_reset (struct m0_dtm_remote *rem, struct m0_dtm_history *history)
 
static void rem_rpc_undo (struct m0_dtm_remote *rem, struct m0_dtm_history *history, m0_dtm_ver_t upto)
 
M0_EXTERN struct m0_rpc_sessionm0_rpc_conn_session0 (const struct m0_rpc_conn *conn)
 
static void rem_rpc_send (struct m0_dtm_remote *rem, struct m0_dtm_update *update)
 
static void rem_rpc_resend (struct m0_dtm_remote *rem, struct m0_dtm_update *update)
 
static void notice_pack (struct m0_dtm_notice *notice, const struct m0_dtm_history *history, m0_dtm_ver_t ver, enum rem_rpc_notification opcode)
 
M0_INTERNAL int m0_dtm_remote_global_init (void)
 
M0_INTERNAL void m0_dtm_remote_global_fini (void)
 
static void notice_deliver (struct m0_dtm_notice *notice, struct m0_dtm *dtm)
 
static M0_UNUSED void rem_rpc_redo_replied (struct m0_rpc_item *item)
 
M0_INTERNAL void m0_dtm_local_remote_init (struct m0_dtm_local_remote *lre, struct m0_uint128 *id, struct m0_dtm *local, struct m0_reqh *reqh)
 
M0_INTERNAL void m0_dtm_local_remote_fini (struct m0_dtm_local_remote *lre)
 
static void rem_local_notify (struct m0_dtm_remote *rem, const struct m0_dtm_history *history, m0_dtm_ver_t ver, enum rem_rpc_notification opcode)
 
static void rem_local_persistent (struct m0_dtm_remote *rem, struct m0_dtm_history *history)
 
static void rem_local_fixed (struct m0_dtm_remote *rem, struct m0_dtm_history *history)
 
static void rem_local_reset (struct m0_dtm_remote *rem, struct m0_dtm_history *history)
 
static void rem_local_send (struct m0_dtm_remote *rem, struct m0_dtm_update *update)
 
static void rem_local_undo (struct m0_dtm_remote *rem, struct m0_dtm_history *history, m0_dtm_ver_t upto)
 

Variables

enum rem_rpc_notification M0_XCA_DOMAIN
 
static const struct m0_dtm_remote_ops rem_rpc_ops
 
static const struct m0_dtm_remote_ops rem_local_ops
 
static struct m0_fop_type rem_rpc_fopt
 
static const struct m0_fop_type_ops rem_rpc_ftype_ops
 
static struct m0_rpc_item_type_ops rem_rpc_itype_ops
 
static const struct m0_rpc_item_ops rem_rpc_item_sender_ops
 
static M0_UNUSED const struct m0_rpc_item_ops rem_rpc_item_redo_ops