Motr  M0
lq.c File Reference
#include "lib/trace.h"
#include "ha/lq.h"
#include "lib/misc.h"
#include "lib/assert.h"
#include "ha/msg.h"
Include dependency graph for lq.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_HA
 

Functions

static bool ha_lq_tags_invariant (const struct m0_ha_link_tags *tags)
 
M0_INTERNAL bool m0_ha_lq_invariant (const struct m0_ha_lq *lq)
 
M0_INTERNAL void m0_ha_lq_init (struct m0_ha_lq *lq, const struct m0_ha_lq_cfg *lq_cfg)
 
M0_INTERNAL void m0_ha_lq_fini (struct m0_ha_lq *lq)
 
M0_INTERNAL void m0_ha_lq_tags_get (const struct m0_ha_lq *lq, struct m0_ha_link_tags *tags)
 
M0_INTERNAL void m0_ha_lq_tags_set (struct m0_ha_lq *lq, const struct m0_ha_link_tags *tags)
 
M0_INTERNAL bool m0_ha_lq_has_tag (const struct m0_ha_lq *lq, uint64_t tag)
 
M0_INTERNAL struct m0_ha_msgm0_ha_lq_msg (struct m0_ha_lq *lq, uint64_t tag)
 
M0_INTERNAL struct m0_ha_msgm0_ha_lq_msg_next (struct m0_ha_lq *lq, const struct m0_ha_msg *cur)
 
M0_INTERNAL struct m0_ha_msgm0_ha_lq_msg_prev (struct m0_ha_lq *lq, const struct m0_ha_msg *cur)
 
M0_INTERNAL bool m0_ha_lq_has_next (const struct m0_ha_lq *lq)
 
M0_INTERNAL bool m0_ha_lq_is_delivered (const struct m0_ha_lq *lq, uint64_t tag)
 
M0_INTERNAL uint64_t m0_ha_lq_tag_assign (const struct m0_ha_lq *lq)
 
M0_INTERNAL uint64_t m0_ha_lq_tag_next (const struct m0_ha_lq *lq)
 
M0_INTERNAL uint64_t m0_ha_lq_tag_delivered (const struct m0_ha_lq *lq)
 
M0_INTERNAL uint64_t m0_ha_lq_tag_confirmed (const struct m0_ha_lq *lq)
 
M0_INTERNAL uint64_t m0_ha_lq_enqueue (struct m0_ha_lq *lq, const struct m0_ha_msg *msg)
 
M0_INTERNAL struct m0_ha_msgm0_ha_lq_next (struct m0_ha_lq *lq)
 
M0_INTERNAL bool m0_ha_lq_try_unnext (struct m0_ha_lq *lq)
 
M0_INTERNAL void m0_ha_lq_mark_delivered (struct m0_ha_lq *lq, uint64_t tag)
 
M0_INTERNAL uint64_t m0_ha_lq_dequeue (struct m0_ha_lq *lq)