Motr  M0
link.h File Reference
#include "lib/chan.h"
#include "lib/types.h"
#include "lib/tlist.h"
#include "lib/semaphore.h"
#include "lib/time.h"
#include "sm/sm.h"
#include "fop/fom.h"
#include "fop/fop.h"
#include "rpc/link.h"
#include "ha/link_fops.h"
#include "ha/lq.h"
Include dependency graph for link.h:

Go to the source code of this file.

Data Structures

struct  m0_ha_link_conn_cfg
 
struct  m0_ha_link_cfg
 
struct  m0_ha_link
 

Macros

#define __MOTR_HA_LINK_H__
 

Enumerations

enum  m0_ha_link_state {
  M0_HA_LINK_STATE_INIT, M0_HA_LINK_STATE_FINI, M0_HA_LINK_STATE_START, M0_HA_LINK_STATE_STOP,
  M0_HA_LINK_STATE_IDLE, M0_HA_LINK_STATE_RECV, M0_HA_LINK_STATE_DELIVERY, M0_HA_LINK_STATE_RPC_FAILED,
  M0_HA_LINK_STATE_LINK_FAILED, M0_HA_LINK_STATE_LINK_REUSED, M0_HA_LINK_STATE_DISCONNECTING, M0_HA_LINK_STATE_NR
}
 

Functions

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 void m0_ha_link_start (struct m0_ha_link *hl, struct m0_ha_link_conn_cfg *hl_conn_cfg)
 
M0_INTERNAL void m0_ha_link_stop (struct m0_ha_link *hl, struct m0_clink *clink)
 
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)
 
M0_INTERNAL void m0_ha_link_reconnect_cancel (struct m0_ha_link *hl)
 
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 struct m0_chanm0_ha_link_chan (struct m0_ha_link *hl)
 
M0_INTERNAL enum m0_ha_link_state m0_ha_link_state_get (struct m0_ha_link *hl)
 
M0_INTERNAL const char * m0_ha_link_state_name (enum m0_ha_link_state state)
 
M0_INTERNAL void m0_ha_link_send (struct m0_ha_link *hl, const struct m0_ha_msg *msg, uint64_t *tag)
 
M0_INTERNAL struct m0_ha_msgm0_ha_link_recv (struct m0_ha_link *hl, uint64_t *tag)
 
M0_INTERNAL void m0_ha_link_delivered (struct m0_ha_link *hl, struct m0_ha_msg *msg)
 
M0_INTERNAL bool m0_ha_link_msg_is_delivered (struct m0_ha_link *hl, uint64_t tag)
 
M0_INTERNAL uint64_t m0_ha_link_delivered_consume (struct m0_ha_link *hl)
 
M0_INTERNAL uint64_t m0_ha_link_not_delivered_consume (struct m0_ha_link *hl)
 
M0_INTERNAL void m0_ha_link_wait_delivery (struct m0_ha_link *hl, uint64_t tag)
 
M0_INTERNAL void m0_ha_link_wait_arrival (struct m0_ha_link *hl)
 
M0_INTERNAL void m0_ha_link_wait_confirmation (struct m0_ha_link *hl, uint64_t tag)
 
M0_INTERNAL void m0_ha_link_flush (struct m0_ha_link *hl)
 
M0_INTERNAL void m0_ha_link_quiesce (struct m0_ha_link *hl)
 
M0_INTERNAL void m0_ha_link_cb_disconnecting (struct m0_ha_link *hl)
 
M0_INTERNAL void m0_ha_link_cb_reused (struct m0_ha_link *hl)
 
M0_INTERNAL struct m0_rpc_sessionm0_ha_link_rpc_session (struct m0_ha_link *hl)
 
M0_INTERNAL void m0_ha_link_rpc_endpoint (struct m0_ha_link *hl, char *buf, m0_bcount_t buf_len)
 
M0_INTERNAL int m0_ha_link_mod_init (void)
 
M0_INTERNAL void m0_ha_link_mod_fini (void)
 

Variables

const struct m0_fom_type_ops m0_ha_link_incoming_fom_type_ops
 
const struct m0_fom_type_ops m0_ha_link_outgoing_fom_type_ops
 

Macro Definition Documentation

◆ __MOTR_HA_LINK_H__

#define __MOTR_HA_LINK_H__

Definition at line 26 of file link.h.