27 explicit CbLog(uint32_t sz, uint32_t is_filled,
28 uint32_t start_cb, uint32_t end_cb)
43 std::atomic<uint32_t>
End;
47 return (End.load(std::memory_order_acquire)+1) % Size ==
48 Start.load(std::memory_order_acquire);
52 return Start.load(std::memory_order_acquire) ==
53 End.load(std::memory_order_acquire);
62 StartAddr{start_addr},
CbListNode(CbLog< T > *cb, char *start_addr, char *end_addr)
Definition: circular_buffer.hpp:60
uint32_t Size
Definition: circular_buffer.hpp:40
char * StartAddr
Definition: circular_buffer.hpp:74
CbLog< T > * Cb
Definition: circular_buffer.hpp:73
std::atomic< uint32_t > Start
Definition: circular_buffer.hpp:42
T * LogArray
Definition: circular_buffer.hpp:44
std::atomic< uint32_t > isFilled
Definition: circular_buffer.hpp:41
CbLog(uint32_t sz, uint32_t is_filled, uint32_t start_cb, uint32_t end_cb)
Definition: circular_buffer.hpp:27
Definition: circular_buffer.hpp:25
bool isFull()
Definition: circular_buffer.hpp:46
Definition: circular_buffer.hpp:58
CbListNode< T > * Next
Definition: circular_buffer.hpp:76
std::atomic< uint32_t > End
Definition: circular_buffer.hpp:43
CbLog & operator=(const CbLog &)=delete
bool isEmpty()
Definition: circular_buffer.hpp:51
char * EndAddr
Definition: circular_buffer.hpp:75
std::atomic< uint32_t > isAvailable
Definition: circular_buffer.hpp:78
Definition: atlas_alloc_cpp.hpp:21
pthread_t Tid
Definition: circular_buffer.hpp:77