30 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_ADDB 57 philter_tlist_init(&
src->so_philter);
62 while (philter_tlist_pop(&
src->so_philter) !=
NULL)
64 philter_tlist_fini(&
src->so_philter);
74 philter_tlink_init(philter);
83 philter_tlink_fini(philter);
89 philter_tlink_init_at_tail(ph, &
src->so_philter);
94 philter_tlink_del_fini(ph);
106 callback_tlink_init(callback);
111 callback_tlink_fini(callback);
117 callback_tlink_init_at_tail(callback, &ph->
ph_callback);
122 callback_tlink_del_fini(callback);
210 #undef M0_TRACE_SUBSYSTEM
void m0_addb2_callback_fini(struct m0_addb2_callback *callback)
M0_INTERNAL struct m0_addb2_module * m0_addb2_module_get(void)
void m0_addb2_philter_global_del(struct m0_addb2_philter *ph)
struct m0_addb2_philter * am_philter[M0_ADDB2_GLOBAL_PHILTERS]
M0_TL_DESCR_DEFINE(philter, "addb2 source philters", static, struct m0_addb2_philter, ph_linkage, ph_magix, M0_ADDB2_PHILTER_MAGIC, M0_ADDB2_PHILTER_HEAD_MAGIC)
void m0_addb2_callback_add(struct m0_addb2_philter *ph, struct m0_addb2_callback *callback)
void m0_addb2_philter_id_init(struct m0_addb2_philter *ph, uint64_t id)
void m0_addb2_philter_true_init(struct m0_addb2_philter *ph)
static struct m0_addb2_callback c
void m0_addb2_consume(struct m0_addb2_source *src, const struct m0_addb2_record *rec)
void m0_addb2_philter_global_add(struct m0_addb2_philter *ph)
void m0_addb2_callback_del(struct m0_addb2_callback *callback)
void m0_addb2_philter_fini(struct m0_addb2_philter *philter)
bool(* ph_matches)(struct m0_addb2_philter *ph, const struct m0_addb2_record *rec)
struct m0_addb2_value ar_val
void m0_addb2_philter_add(struct m0_addb2_source *src, struct m0_addb2_philter *ph)
void(* ca_fire)(const struct m0_addb2_source *src, const struct m0_addb2_philter *ph, const struct m0_addb2_callback *callback, const struct m0_addb2_record *rec)
M0_TL_DEFINE(philter, static, struct m0_addb2_philter)
void m0_addb2_callback_init(struct m0_addb2_callback *callback, void(*fire)(const struct m0_addb2_source *, const struct m0_addb2_philter *, const struct m0_addb2_callback *, const struct m0_addb2_record *), void *datum)
void m0_addb2_source_fini(struct m0_addb2_source *src)
void m0_addb2_philter_del(struct m0_addb2_philter *ph)
static bool true_matches(struct m0_addb2_philter *philter, const struct m0_addb2_record *rec)
static void philter_consume(struct m0_addb2_source *src, struct m0_addb2_philter *ph, const struct m0_addb2_record *rec)
#define m0_tl_for(name, head, obj)
void m0_addb2_source_init(struct m0_addb2_source *src)
void m0_addb2_philter_init(struct m0_addb2_philter *philter, bool(*matches)(struct m0_addb2_philter *, const struct m0_addb2_record *), void *datum)
struct m0_pdclust_src_addr src
static void(* fire)(const struct m0_addb2_source *, const struct m0_addb2_philter *, const struct m0_addb2_callback *, const struct m0_addb2_record *)
static bool id_matches(struct m0_addb2_philter *philter, const struct m0_addb2_record *rec)
struct m0_addb2_source * m0_addb2_cursor_source(struct m0_addb2_cursor *c)
#define M0_IMPOSSIBLE(fmt,...)