version 1.1.2.2, 2025/09/26 09:22:24
|
version 1.1.2.3, 2025/09/26 10:00:46
|
Line 161 rbuf_enqueue(ringbuf_t *rbuf, void *data, size_t len)
|
Line 161 rbuf_enqueue(ringbuf_t *rbuf, void *data, size_t len)
|
int h, t, n; |
int h, t, n; |
struct iovec *iov; |
struct iovec *iov; |
|
|
if (!rbuf) | if (!rbuf || !rbuf->rb_buffer) |
return -1; |
return -1; |
|
|
h = atomic_load_explicit(&rbuf->rb_head, memory_order_relaxed); |
h = atomic_load_explicit(&rbuf->rb_head, memory_order_relaxed); |
Line 191 rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out)
|
Line 191 rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out)
|
{ |
{ |
int h, t, n; |
int h, t, n; |
|
|
if (!rbuf) | if (!rbuf || !rbuf->rb_buffer) |
return -1; |
return -1; |
|
|
h = atomic_load_explicit(&rbuf->rb_head, memory_order_acquire); |
h = atomic_load_explicit(&rbuf->rb_head, memory_order_acquire); |
Line 202 rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out)
|
Line 202 rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out)
|
return 1; |
return 1; |
|
|
if (out) |
if (out) |
out = rbuf->rb_buffer + t; | *out = rbuf->rb_buffer[t]; |
|
|
atomic_store_explicit(&rbuf->rb_tail, n, memory_order_release); |
atomic_store_explicit(&rbuf->rb_tail, n, memory_order_release); |
return 0; |
return 0; |