23 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_RPC 60 return M0_ERR_INFO(errno,
"Open of error log file");
107 uint64_t max_rpcs_in_flight,
113 M0_ENTRY(
"conn=%p session=%p rpc_mach=%p remote_addr=%s",
139 uint64_t max_rpcs_in_flight,
154 svc_fid = &svc_obj->
co_id;
156 svc_fid, max_rpcs_in_flight,
179 .rhia_dtm = (
void*)1,
180 .rhia_mdstore = (
void*)1,
238 if (printout !=
NULL)
245 return M0_RC(rc0 ?: rc1);
297 #undef M0_TRACE_SUBSYSTEM
M0_INTERNAL int m0_rpc_post(struct m0_rpc_item *item)
void m0_rpc_machine_fini(struct m0_rpc_machine *machine)
M0_INTERNAL void m0_reqh_services_terminate(struct m0_reqh *reqh)
enum m0_rpc_item_priority ri_prio
int m0_rpc_post_with_timeout_sync(struct m0_fop *fop, struct m0_rpc_session *session, const struct m0_rpc_item_ops *ri_ops, m0_time_t deadline, m0_time_t timeout)
#define M0_REQH_INIT(reqh,...)
const m0_time_t M0_TIME_NEVER
M0_INTERNAL int m0_rpc_session_create(struct m0_rpc_session *session, struct m0_rpc_conn *conn, m0_time_t abs_timeout)
#define M0_LOG(level,...)
int m0_rpc_server_start(struct m0_rpc_server_ctx *sctx)
int m0_cs_setup_env(struct m0_motr *cctx, int argc, char **argv)
struct m0_net_buffer_pool rcx_buffer_pool
M0_INTERNAL int m0_rpc_client_find_connect(struct m0_rpc_conn *conn, struct m0_rpc_session *session, struct m0_rpc_machine *rpc_mach, const char *remote_addr, enum m0_conf_service_type stype, uint64_t max_rpcs_in_flight, m0_time_t abs_timeout)
void m0_cs_fini(struct m0_motr *cctx)
int m0_rpc_session_destroy(struct m0_rpc_session *session, m0_time_t abs_timeout)
static struct m0_rpc_client_ctx cctx
static const char * remote_addr
M0_INTERNAL void m0_reqh_fini(struct m0_reqh *reqh)
M0_INTERNAL struct m0_rpc_machine * m0_motr_to_rmach(struct m0_motr *motr)
static struct m0_rpc_item * item
int m0_rpc_item_wait_for_reply(struct m0_rpc_item *item, m0_time_t timeout)
M0_INTERNAL int m0_confc_service_find(struct m0_confc *confc, enum m0_conf_service_type stype, const char *ep, struct m0_conf_obj **result)
int32_t m0_rpc_item_generic_reply_rc(const struct m0_rpc_item *reply)
static struct m0_rm_incoming_ops ri_ops
M0_INTERNAL int m0_rpc_conn_create(struct m0_rpc_conn *conn, struct m0_fid *svc_fid, struct m0_net_end_point *ep, struct m0_rpc_machine *rpc_machine, uint64_t max_rpcs_in_flight, m0_time_t abs_timeout)
#define M0_ERR_INFO(rc, fmt,...)
return M0_ERR(-EOPNOTSUPP)
M0_INTERNAL int m0_rpc_client_connect(struct m0_rpc_conn *conn, struct m0_rpc_session *session, struct m0_rpc_machine *rpc_mach, const char *remote_addr, struct m0_fid *svc_fid, uint64_t max_rpcs_in_flight, m0_time_t abs_timeout)
M0_INTERNAL struct m0_confc * m0_reqh2confc(struct m0_reqh *reqh)
static const struct socktype stype[]
const char * rsx_log_file_name
struct m0_net_transfer_mc rm_tm
uint32_t rcx_max_rpc_msg_size
M0_INTERNAL int m0_rpc_net_buffer_pool_setup(struct m0_net_domain *ndom, struct m0_net_buffer_pool *app_pool, uint32_t bufs_nr, uint32_t tm_nr)
struct m0_rpc_conn rcx_connection
M0_INTERNAL uint32_t m0_rpc_bufs_nr(uint32_t len, uint32_t tms_nr)
int m0_rpc_conn_destroy(struct m0_rpc_conn *conn, m0_time_t abs_timeout)
int m0_rpc_client_stop(struct m0_rpc_client_ctx *cctx)
M0_INTERNAL int m0_rpc_machine_init(struct m0_rpc_machine *machine, struct m0_net_domain *net_dom, const char *ep_addr, struct m0_reqh *reqh, struct m0_net_buffer_pool *receive_pool, uint32_t colour, m0_bcount_t msg_size, uint32_t queue_len)
struct m0_fop * m0_fop_get(struct m0_fop *fop)
int m0_rpc_client_start(struct m0_rpc_client_ctx *cctx)
struct m0_net_xprt ** rsx_xprts
struct m0_rpc_item * ri_reply
static struct m0_rpc_server_ctx sctx
uint32_t rcx_recv_queue_min_length
int m0_rpc_post_sync(struct m0_fop *fop, struct m0_rpc_session *session, const struct m0_rpc_item_ops *ri_ops, m0_time_t deadline)
m0_time_t rcx_abs_timeout
struct m0_net_domain * rcx_net_dom
uint64_t rcx_max_rpcs_in_flight
void m0_net_end_point_put(struct m0_net_end_point *ep)
M0_INTERNAL void m0_reqh_start(struct m0_reqh *reqh)
int m0_cs_init(struct m0_motr *cctx, struct m0_net_xprt **xprts, size_t xprts_nr, FILE *out, bool mkfs)
struct m0_rpc_session rcx_session
const struct m0_rpc_item_ops * ri_ops
struct m0_rpc_session * ri_session
const char * rcx_remote_addr
int m0_rpc_client_stop_stats(struct m0_rpc_client_ctx *cctx, void(*printout)(struct m0_rpc_machine *))
void m0_fop_put_lock(struct m0_fop *fop)
static struct m0_fop * fop
const char * rcx_local_addr
int m0_cs_start(struct m0_motr *cctx)
void m0_rpc_server_stop(struct m0_rpc_server_ctx *sctx)
struct m0_rpc_machine rcx_rpc_machine
void m0_rpc_net_buffer_pool_cleanup(struct m0_net_buffer_pool *app_pool)
struct m0_rpc_item f_item
M0_INTERNAL struct m0_rpc_machine * m0_rpc_server_ctx_get_rmachine(struct m0_rpc_server_ctx *sctx)
M0_INTERNAL int m0_net_end_point_create(struct m0_net_end_point **epp, struct m0_net_transfer_mc *tm, const char *addr)
struct m0_motr rsx_motr_ctx