RingBuffer: use explict "if" and return early
Remove confusing use of ternary operator together with assign + load. No change in behavior.
This commit is contained in:
parent
e8b9c815fc
commit
05a7eef1a2
@ -36,8 +36,14 @@ bool ByteBuffer::set_size(uint32_t _size)
|
||||
|
||||
uint32_t ByteBuffer::available(void) const
|
||||
{
|
||||
uint32_t _tail;
|
||||
return ((head > (_tail=tail))? (size - head) + _tail: _tail - head);
|
||||
/* use a copy on stack to avoid race conditions of @tail being updated by
|
||||
* the writer thread */
|
||||
uint32_t _tail = tail;
|
||||
|
||||
if (head > _tail) {
|
||||
return size - head + _tail;
|
||||
}
|
||||
return _tail - head;
|
||||
}
|
||||
|
||||
void ByteBuffer::clear(void)
|
||||
@ -47,8 +53,22 @@ void ByteBuffer::clear(void)
|
||||
|
||||
uint32_t ByteBuffer::space(void) const
|
||||
{
|
||||
if (size == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* use a copy on stack to avoid race conditions of @head being updated by
|
||||
* the reader thread */
|
||||
uint32_t _head = head;
|
||||
return size ? (_head > tail ? 0 : size) + _head - tail - 1 : 0;
|
||||
uint32_t ret = 0;
|
||||
|
||||
if (_head <= tail) {
|
||||
ret = size;
|
||||
}
|
||||
|
||||
ret += _head - tail - 1;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool ByteBuffer::empty(void) const
|
||||
|
Loading…
Reference in New Issue
Block a user