30 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_DTM 42 #include "dtm/remote_xc.h" 181 rpr =
M0_AMB(rpr, rem, rpr_rem);
200 .
name =
"dtm notice",
202 .
xt = m0_dtm_notice_xc,
338 #undef M0_TRACE_SUBSYSTEM
static void rem_rpc_undo(struct m0_dtm_remote *rem, struct m0_dtm_history *history, m0_dtm_ver_t upto)
M0_INTERNAL int m0_rpc_post(struct m0_rpc_item *item)
const struct m0_rpc_item_type_ops m0_fop_default_item_type_ops
static struct m0_dtm_local_remote local
static const struct m0_rpc_item_ops rem_rpc_item_sender_ops
M0_INTERNAL void m0_rpc_oneway_item_post(const struct m0_rpc_conn *conn, struct m0_rpc_item *item)
struct m0_dtm_update_comm upd_comm
enum m0_dtm_state up_state
static void notice_deliver(struct m0_dtm_notice *notice, struct m0_dtm *dtm)
enum m0_rpc_item_priority ri_prio
static void rem_local_fixed(struct m0_dtm_remote *rem, struct m0_dtm_history *history)
M0_INTERNAL void m0_dtm_fol_remote_init(struct m0_dtm_fol_remote *frem, struct m0_dtm *dtm, struct m0_dtm_remote *remote)
static void rem_local_reset(struct m0_dtm_remote *rem, struct m0_dtm_history *history)
#define M0_FOP_TYPE_INIT(ft,...)
M0_INTERNAL bool m0_uint128_eq(const struct m0_uint128 *u0, const struct m0_uint128 *u1)
#define M0_LOG(level,...)
M0_INTERNAL int m0_reqh_fop_handle(struct m0_reqh *reqh, struct m0_fop *fop)
static void rem_local_send(struct m0_dtm_remote *rem, struct m0_dtm_update *update)
M0_EXTERN struct m0_rpc_session * m0_rpc_conn_session0(const struct m0_rpc_conn *conn)
struct m0_dtm_fol_remote re_fol
void(* reo_persistent)(struct m0_dtm_remote *rem, struct m0_dtm_history *history)
static void rem_rpc_send(struct m0_dtm_remote *rem, struct m0_dtm_update *update)
void * m0_fop_data(const struct m0_fop *fop)
void m0_fop_type_fini(struct m0_fop_type *fopt)
M0_INTERNAL void m0_dtm_rpc_remote_fini(struct m0_dtm_rpc_remote *remote)
static struct m0_addb2_mach * mach
static void rem_rpc_persistent(struct m0_dtm_remote *rem, struct m0_dtm_history *history)
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)
static struct m0_xcode_type ** xt[]
M0_INTERNAL void m0_dtm_remote_global_fini(void)
static struct m0_rpc_item * item
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)
struct m0_rpc_conn * rpr_conn
struct m0_dtm_history ch_history
struct m0_dtm_history_id dno_id
struct m0_reqh * lre_reqh
struct m0_rpc_machine * c_rpc_machine
M0_INTERNAL void m0_dtm_history_undo(struct m0_dtm_history *history, m0_dtm_ver_t upto)
static const struct m0_reqh_service_ops rpc_ops
struct m0_dtm_update * h_persistent
static const struct m0_fop_type_ops rem_rpc_ftype_ops
M0_INTERNAL void m0_dtm_history_persistent(struct m0_dtm_history *history, m0_dtm_ver_t upto)
static void rem_rpc_resend(struct m0_dtm_remote *rem, struct m0_dtm_update *update)
static struct m0_fop_type rem_rpc_fopt
#define M0_AMB(obj, ptr, field)
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)
static int rem_rpc_deliver(struct m0_rpc_machine *mach, struct m0_rpc_item *item)
M0_INTERNAL int m0_dtm_history_unpack(struct m0_dtm *dtm, const struct m0_dtm_history_id *id, struct m0_dtm_history **out)
static void rem_rpc_reset(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 const struct m0_dtm_remote_ops rem_local_ops
#define HISTORY_DTM(history)
static void rem_local_persistent(struct m0_dtm_remote *rem, struct m0_dtm_history *history)
M0_INTERNAL m0_dtm_ver_t update_ver(const struct m0_dtm_update *update)
M0_INTERNAL void m0_dtm_history_reset(struct m0_dtm_history *history, m0_dtm_ver_t since)
struct m0_dtm_controlh rfo_ch
M0_INTERNAL void m0_dtm_history_pack(const struct m0_dtm_history *history, struct m0_dtm_history_id *id)
M0_INTERNAL void m0_dtm_fol_remote_fini(struct m0_dtm_fol_remote *frem)
void(* rio_replied)(struct m0_rpc_item *item)
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)
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 const struct m0_dtm_remote_ops rem_rpc_ops
const struct m0_rpc_item_ops * ri_ops
m0_time_t m0_time_from_now(uint64_t secs, long ns)
static struct m0_rm_remote * remote
M0_INTERNAL void m0_dtm_fol_remote_add(struct m0_dtm_fol_remote *frem, struct m0_dtm_oper *oper)
const struct m0_dtm_remote_ops * re_ops
static struct m0_fop * fop
struct m0_fop * m0_rpc_item_to_fop(const struct m0_rpc_item *item)
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_local_remote_fini(struct m0_dtm_local_remote *lre)
static M0_UNUSED const struct m0_rpc_item_ops rem_rpc_item_redo_ops
static struct m0_rpc_item_type_ops rem_rpc_itype_ops
static void rem_local_undo(struct m0_dtm_remote *rem, struct m0_dtm_history *history, m0_dtm_ver_t upto)
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)
struct m0_dtm_remote lre_rem
M0_INTERNAL void m0_dtm_remote_fini(struct m0_dtm_remote *remote)
int(* rito_deliver)(struct m0_rpc_machine *rpcmach, struct m0_rpc_item *item)
M0_INTERNAL int m0_dtm_remote_global_init(void)
struct m0_rpc_item f_item
void m0_rpc_item_cancel_init(struct m0_rpc_item *item)
struct m0_fop * m0_fop_alloc(struct m0_fop_type *fopt, void *data, struct m0_rpc_machine *mach)
static M0_UNUSED void rem_rpc_redo_replied(struct m0_rpc_item *item)