41 #ifndef controller_src_ksync_ksync_tx_queue_h
42 #define controller_src_ksync_ksync_tx_queue_h
44 #include <sys/eventfd.h>
50 #include <tbb/atomic.h>
51 #include <tbb/concurrent_queue.h>
57 typedef tbb::concurrent_queue<IoContext *>
Queue;
62 void Init(
bool use_work_queue,
const std::string &cpu_pin_policy);
110 #endif // controller_src_ksync_ksync_tx_queue_h
bool EnqueueInternal(IoContext *io_context)
DISALLOW_COPY_AND_ASSIGN(KSyncTxQueue)
std::string cpu_pin_policy_
void Init(bool use_work_queue, const std::string &cpu_pin_policy)
uint32_t read_events() const
bool Enqueue(IoContext *io_context)
uint32_t max_queue_len() const
KSyncTxQueue(KSyncSock *sock)
uint32_t write_events() const
uint64_t busy_time() const
tbb::concurrent_queue< IoContext * > Queue
tbb::atomic< bool > shutdown_
tbb::atomic< size_t > queue_len_
void set_measure_busy_time(bool val) const
WorkQueue< IoContext * > * work_queue_