25 #ifndef __MOTR_HA_LINK_H__ 26 #define __MOTR_HA_LINK_H__
bool hln_rpc_event_occurred
struct m0_ha_lq_cfg hlq_q_cfg_out
struct m0_sm_group hln_sm_group
struct m0_ha_link_msg_fop hln_req_fop_data
M0_INTERNAL bool m0_ha_link_msg_is_delivered(struct m0_ha_link *hl, uint64_t tag)
struct m0_ha_lq_cfg hlq_q_cfg_in
const struct m0_fom_type_ops m0_ha_link_outgoing_fom_type_ops
M0_INTERNAL void m0_ha_link_stop(struct m0_ha_link *hl, struct m0_clink *clink)
struct m0_chan hln_quiesce_chan
const char * hlcc_rpc_endpoint
const struct m0_fom_type_ops m0_ha_link_incoming_fom_type_ops
m0_time_t hlcc_disconnect_timeout
M0_INTERNAL void m0_ha_link_wait_arrival(struct m0_ha_link *hl)
static uint64_t tag(uint8_t code, uint64_t id)
M0_INTERNAL struct m0_ha_msg * m0_ha_link_recv(struct m0_ha_link *hl, uint64_t *tag)
struct m0_clink hln_rpc_wait
uint64_t hln_service_ref_counter
struct m0_uint128 hln_service_connection_id
bool hln_fom_enable_wakeup
M0_INTERNAL const char * m0_ha_link_state_name(enum m0_ha_link_state state)
M0_INTERNAL struct m0_chan * m0_ha_link_chan(struct m0_ha_link *hl)
M0_INTERNAL void m0_ha_link_flush(struct m0_ha_link *hl)
struct m0_reqh_service * hlc_reqh_service
struct m0_ha_link_conn_cfg hln_conn_cfg
M0_INTERNAL void m0_ha_link_cb_reused(struct m0_ha_link *hl)
M0_INTERNAL void m0_ha_link_start(struct m0_ha_link *hl, struct m0_ha_link_conn_cfg *hl_conn_cfg)
uint64_t hln_tag_broadcast_delivery
M0_INTERNAL enum m0_ha_link_state m0_ha_link_state_get(struct m0_ha_link *hl)
uint64_t hln_tag_broadcast_recv
M0_INTERNAL void m0_ha_link_send(struct m0_ha_link *hl, const struct m0_ha_msg *msg, uint64_t *tag)
struct m0_rpc_link hln_rpc_link
struct m0_fop hln_outgoing_fop
struct m0_locality * hln_fom_locality
struct m0_clink hln_quiesce_wait
struct m0_chan * hln_service_release_chan
struct m0_ha_link_cfg hln_cfg
bool hln_cb_disconnecting
bool hln_service_quiescing
M0_INTERNAL void m0_ha_link_cb_disconnecting(struct m0_ha_link *hl)
struct m0_ha_lq hln_q_out
M0_INTERNAL void m0_ha_link_reconnect_cancel(struct m0_ha_link *hl)
struct m0_semaphore hln_stop_cond
uint64_t hlcc_nr_sent_max
struct m0_rpc_machine * hlc_rpc_machine
struct m0_uint128 hln_service_link_id
struct m0_tlink hln_service_link
M0_INTERNAL int m0_ha_link_mod_init(void)
uint64_t hlcc_max_rpcs_in_flight
M0_INTERNAL void m0_ha_link_reconnect_begin(struct m0_ha_link *hl, struct m0_ha_link_params *lp)
M0_INTERNAL void m0_ha_link_reconnect_end(struct m0_ha_link *hl, const struct m0_ha_link_conn_cfg *hl_conn_cfg)
bool hln_confirmed_update
bool hln_reconnect_cfg_is_set
static struct m0_clink clink[RDWR_REQUEST_MAX]
struct m0_chan hln_stop_chan
M0_INTERNAL uint64_t m0_ha_link_delivered_consume(struct m0_ha_link *hl)
M0_INTERNAL void m0_ha_link_delivered(struct m0_ha_link *hl, struct m0_ha_msg *msg)
M0_INTERNAL void m0_ha_link_wait_confirmation(struct m0_ha_link *hl, uint64_t tag)
m0_time_t hlcc_reconnect_interval
struct m0_ha_msg * hln_msg_to_send
M0_INTERNAL void m0_ha_link_mod_fini(void)
m0_time_t hlcc_resend_interval
struct m0_reqh * hlc_reqh
M0_INTERNAL void m0_ha_link_wait_delivery(struct m0_ha_link *hl, uint64_t tag)
M0_INTERNAL void m0_ha_link_rpc_endpoint(struct m0_ha_link *hl, char *buf, m0_bcount_t buf_len)
M0_INTERNAL void m0_ha_link_quiesce(struct m0_ha_link *hl)
struct m0_sm_timer hln_reconnect_wait_timer
struct m0_semaphore hln_start_wait
struct m0_ha_link_params hlcc_params
uint64_t hln_service_magic
struct m0_ha_link_conn_cfg hln_conn_reconnect_cfg
struct m0_mutex hln_stop_chan_lock
m0_time_t hlcc_connect_timeout
struct m0_sm_ast hln_waking_ast
struct m0_mutex hln_quiesce_chan_lock
M0_INTERNAL void m0_ha_link_reconnect_params(const struct m0_ha_link_params *lp_alive, struct m0_ha_link_params *lp_alive_new, struct m0_ha_link_params *lp_dead_new, const struct m0_uint128 *id_alive, const struct m0_uint128 *id_dead, const struct m0_uint128 *id_connection)
M0_INTERNAL int m0_ha_link_init(struct m0_ha_link *hl, struct m0_ha_link_cfg *hl_cfg)
M0_INTERNAL void m0_ha_link_fini(struct m0_ha_link *hl)
M0_INTERNAL uint64_t m0_ha_link_not_delivered_consume(struct m0_ha_link *hl)
struct m0_fid hlcc_rpc_service_fid
M0_INTERNAL struct m0_rpc_session * m0_ha_link_rpc_session(struct m0_ha_link *hl)
bool hln_service_released
bool hln_no_new_delivered