非同期送信キューの実装。
c-modernization-kit sample team
1.0.0
2026/03/08
Copyright (C) CompanyName, Ltd. 2026. All rights reserved.
int potr_send_queue_init ( PotrSendQueue *q, size_t depth, uint16_t max_payload )void potr_send_queue_destroy ( PotrSendQueue *q )int potr_send_queue_push ( PotrSendQueue *q, PotrPeerId peer_id, uint16_t flags, const void *payload, uint16_t payload_len )int potr_send_queue_push_wait ( PotrSendQueue *q, PotrPeerId peer_id, uint16_t flags, const void *payload, uint16_t payload_len, volatile int *running )int potr_send_queue_pop ( PotrSendQueue *q, PotrPayloadElem *out, volatile int *running )int potr_send_queue_peek ( PotrSendQueue *q, PotrPayloadElem *out )int potr_send_queue_peek_timed ( PotrSendQueue *q, PotrPayloadElem *out, uint32_t timeout_ms )int potr_send_queue_try_pop ( PotrSendQueue *q, PotrPayloadElem *out )void potr_send_queue_complete ( PotrSendQueue *q )void potr_send_queue_wait_drained ( PotrSendQueue *q )void potr_send_queue_shutdown ( PotrSendQueue *q )#define POTR_MUTEX_INIT ( m )
pthread_mutex_init((m), NULL)#define POTR_MUTEX_LOCK ( m )
pthread_mutex_lock(m)#define POTR_MUTEX_UNLOCK ( m )
pthread_mutex_unlock(m)#define POTR_MUTEX_DESTROY ( m )
pthread_mutex_destroy(m)#define POTR_COND_INIT ( c )
pthread_cond_init((c), NULL)#define POTR_COND_WAIT ( c, m )
pthread_cond_wait((c), (m))#define POTR_COND_SIGNAL ( c )
pthread_cond_signal(c)#define POTR_COND_BROADCAST ( c )
pthread_cond_broadcast(c)#define POTR_COND_DESTROY ( c )
pthread_cond_destroy(c)