25 #ifndef __MOTR_BE_QUEUE_H__ 26 #define __MOTR_BE_QUEUE_H__ 168 #define BEQ_F "(queue=%p bq_enqueued=%" PRIu64 " bq_dequeued=%" PRIu64 " " \ 170 #define BEQ_P(bq) (bq), (bq)->bq_enqueued, (bq)->bq_dequeued, \ 236 #define M0_BE_QUEUE_PUT(bq, op, ptr) \ 237 m0_be_queue_put(bq, op, &M0_BUF_INIT_PTR(ptr)) 238 #define M0_BE_QUEUE_GET(bq, op, ptr, successful) \ 239 m0_be_queue_get(bq, op, &M0_BUF_INIT_PTR(ptr), successful) 240 #define M0_BE_QUEUE_PEEK(bq, ptr) \ 241 m0_be_queue_peek(bq, &M0_BUF_INIT_PTR(ptr)) uint64_t bqc_consumers_nr_max
M0_INTERNAL int m0_be_queue_init(struct m0_be_queue *bq, struct m0_be_queue_cfg *cfg)
M0_INTERNAL void m0_be_queue_unlock(struct m0_be_queue *bq)
M0_INTERNAL void m0_be_queue_fini(struct m0_be_queue *bq)
M0_INTERNAL void m0_be_queue_get(struct m0_be_queue *bq, struct m0_be_op *op, struct m0_buf *data, bool *successful)
M0_INTERNAL bool m0_be_queue_peek(struct m0_be_queue *bq, struct m0_buf *data)
struct be_queue_wait_op * bq_ops_put
M0_INTERNAL void m0_be_queue_put(struct m0_be_queue *bq, struct m0_be_op *op, const struct m0_buf *data)
struct m0_tl bq_op_put_unused
struct m0_be_queue_cfg bq_cfg
struct be_queue_wait_op * bq_ops_get
m0_bcount_t bqc_item_length
M0_INTERNAL void m0_be_queue_lock(struct m0_be_queue *bq)
uint64_t bqc_producers_nr_max
M0_INTERNAL void m0_be_queue_end(struct m0_be_queue *bq)
struct m0_tl bq_op_get_unused