25 #ifndef __MOTR_CM_CM_H__ 26 #define __MOTR_CM_CM_H__ 344 uint64_t proxy_id,
const char *
local_ep,
346 const struct m0_cm_sw *out_interval);
467 #define M0_CM_TYPE_DECLARE(cmtype, id, ops, name, typecode) \ 468 M0_INTERNAL struct m0_cm_type cmtype ## _cmt = { \ 471 .rst_name = (name), \ 473 .rst_level = M0_RS_LEVEL_NORMAL, \ 474 .rst_typecode = (typecode) \ 511 *
bp, uint64_t colour);
uint64_t cm_aggr_grps_in_nr
M0_INTERNAL int m0_cm_ast_run_thread_init(struct m0_cm *cm)
int(* cmo_get_space_for)(struct m0_cm *cm, const struct m0_cm_ag_id *id, size_t *count)
M0_INTERNAL void m0_cm_frozen_ag_cleanup(struct m0_cm *cm, struct m0_cm_proxy *proxy)
int(* cmo_ag_alloc)(struct m0_cm *cm, const struct m0_cm_ag_id *id, bool has_incoming, struct m0_cm_aggr_group **out)
M0_INTERNAL void m0_cm_lock(struct m0_cm *cm)
const struct m0_cm_type * cm_type
M0_INTERNAL void m0_cm_fail(struct m0_cm *cm, int rc)
M0_INTERNAL struct m0_rpc_machine * m0_cm_rpc_machine_find(struct m0_reqh *reqh)
M0_INTERNAL bool m0_cm_is_dirty(struct m0_cm *cm)
struct m0_bitmap cm_proxy_update_map
M0_INTERNAL bool m0_cm_is_ready(struct m0_cm *cm)
M0_INTERNAL bool m0_cm_is_active(struct m0_cm *cm)
const struct m0_cm_ops * cm_ops
M0_INTERNAL void m0_cm_type_deregister(struct m0_cm_type *cmtype)
struct m0_fom_type ct_ag_store_fomt
M0_INTERNAL int m0_cm_stop(struct m0_cm *cm)
void(* cmo_stop)(struct m0_cm *cm)
void fop_release(struct m0_ref *ref)
M0_INTERNAL bool m0_cm_has_more_data(const struct m0_cm *cm)
M0_INTERNAL int m0_cm_trylock(struct m0_cm *cm)
M0_INTERNAL void m0_cm_wait_cancel(struct m0_cm *cm, struct m0_fom *fom)
M0_INTERNAL int m0_ha_cm_err_send(struct m0_cm *cm, int rc)
struct m0_fom_type ct_pump_fomt
M0_INTERNAL void m0_cm_ast_run_thread_fini(struct m0_cm *cm)
int(* cmo_ag_next)(struct m0_cm *cm, const struct m0_cm_ag_id *id_curr, struct m0_cm_ag_id *id_next)
M0_INTERNAL int m0_cm_start(struct m0_cm *cm)
uint64_t cm_aggr_grps_out_nr
M0_INTERNAL int m0_cm_module_init(void)
M0_INTERNAL void m0_cm_fini(struct m0_cm *cm)
int(* cmo_sw_onwire_fop_setup)(struct m0_cm *cm, struct m0_fop *fop, void(*fop_release)(struct m0_ref *), uint64_t proxy_id, const char *local_ep, const struct m0_cm_sw *sw, const struct m0_cm_sw *out_interval)
M0_INTERNAL void m0_cm_state_set(struct m0_cm *cm, enum m0_cm_state state)
int(* cmo_data_next)(struct m0_cm *cm, struct m0_cm_cp *cp)
M0_INTERNAL int m0_cm_init(struct m0_cm *cm, struct m0_cm_type *cm_type, const struct m0_cm_ops *cm_ops)
M0_INTERNAL int m0_cm_data_next(struct m0_cm *cm, struct m0_cm_cp *cp)
M0_INTERNAL void m0_cm_unlock(struct m0_cm *cm)
uint64_t cm_nr_proxy_updated
M0_INTERNAL void m0_cm_complete_notify(struct m0_cm *cm)
M0_INTERNAL bool m0_cm_proxies_updated(struct m0_cm *cm)
struct m0_fom_type ct_fomt
struct m0_mutex cm_wait_mutex
M0_INTERNAL struct m0_net_buffer * m0_cm_buffer_get(struct m0_net_buffer_pool *bp, uint64_t colour)
int(* cmo_prepare)(struct m0_cm *cm)
M0_INTERNAL int m0_cm_configure(struct m0_cm *cm, struct m0_fop *fop)
M0_INTERNAL void m0_cm_wait(struct m0_cm *cm, struct m0_fom *fom)
M0_INTERNAL void m0_cm_module_fini(void)
struct m0_tlink ct_linkage
struct m0_cm_ag_id cm_last_out_hi
static struct fdmi_ctx ctx
struct m0_chan cm_complete
M0_INTERNAL int m0_cm_setup(struct m0_cm *cm)
M0_INTERNAL int m0_cm_ready(struct m0_cm *cm)
void(* cmo_ha_msg)(struct m0_cm *cm, struct m0_ha_msg *msg, int rc)
struct m0_chan cm_proxy_init_wait
M0_INTERNAL void m0_cm_continue(struct m0_cm *cm)
struct m0_cm_ag_id cm_last_processed_out
M0_INTERNAL void m0_cm_buffer_put(struct m0_net_buffer_pool *bp, struct m0_net_buffer *buf, uint64_t colour)
M0_INTERNAL struct m0_cm * m0_cmsvc2cm(struct m0_reqh_service *cmsvc)
struct m0_fom_type ct_swu_fomt
struct m0_sm_group cm_sm_group
void(* cmo_fini)(struct m0_cm *cm)
struct m0_tl cm_aggr_grps_out
M0_INTERNAL int m0_cm_prepare(struct m0_cm *cm)
struct m0_cm_sw_update cm_sw_update
M0_INTERNAL void m0_cm_notify(struct m0_cm *cm)
static const char * local_ep(const struct m0_cm *cm)
struct m0_reqh_service cm_service
uint64_t cm_proxy_active_nr
M0_INTERNAL void m0_cm_proxies_init_wait(struct m0_cm *cm, struct m0_fom *fom)
M0_INTERNAL enum m0_cm_state m0_cm_state_get(const struct m0_cm *cm)
int(* cmo_setup)(struct m0_cm *cm)
static struct m0_fop * fop
struct m0_reqh_service_type ct_stype
struct m0_cm_cp_pump cm_cp_pump
bool(* cmo_is_peer)(struct m0_cm *cm, struct m0_reqh_service_ctx *ctx)
static struct bulkio_params * bp
int(* cmo_start)(struct m0_cm *cm)
M0_INTERNAL void m0_cm_abort(struct m0_cm *cm, int rc)
M0_INTERNAL bool m0_cm_invariant(const struct m0_cm *cm)
struct m0_tl cm_aggr_grps_in
M0_INTERNAL bool m0_cm_is_locked(const struct m0_cm *cm)
struct m0_tl cm_failed_proxies
M0_INTERNAL int m0_cm_complete(struct m0_cm *cm)
struct m0_cm_ast_run cm_asts_run
M0_INTERNAL int m0_cm_proxies_fini(struct m0_cm *cm)
M0_INTERNAL void m0_cm_proxy_failed_cleanup(struct m0_cm *cm)
struct m0_cm_ag_store cm_ag_store
struct m0_cm_ag_id cm_sw_last_updated_hi
M0_INTERNAL int m0_cm_type_register(struct m0_cm_type *cmtype)