|
void | Sleep (clock_t msec) |
|
| C_RingBuffer (T *buffer, size_t count, t_bytecpy pushmemcpy, t_bytecpy popmemcpy) |
|
bool | Init (T *buffer, size_t count, t_bytecpy pushmemcpy, t_bytecpy popmemcpy) |
|
__INLINE__ bool | IsFull () |
|
__INLINE__ bool | IsEmpty () |
|
__INLINE__ size_t | PushAvail () |
|
__INLINE__ size_t | PopAvail () |
|
T * | Head () |
|
T * | Tail () |
|
bool | MoveHead (int numElements) |
|
bool | MoveTail (int numElements) |
|
size_t | Push (T *pSrcElements, size_t numElements, int ExitMode=EXIT_ON_COMPLETED) |
|
size_t | Push (T pSrcElement) |
|
void | PushRequest (T *pSrcElements, size_t numElements) |
|
bool | isPushCompleted () |
|
size_t | Pop (T *pDstElements, size_t numElements, int ExitMode=EXIT_ON_COMPLETED) |
|
|
T * | data |
| физический адрес кольцевого буфера входных данных
|
|
size_t | size |
| размер кольцевого буфера входных данных (в элементах; гарантируется что это степень двойки)
|
|
size_t | head |
| сколько элементов ОТ НАЧАЛА ПОТОКА код MASTER уже записал в буфер входных данных [заполняется MASTER]
|
|
size_t | tail |
| сколько элементов ОТ НАЧАЛА ПОТОКА код SLAVE уже прочитал (обработал) [заполняется SLAVE]
|
|
size_t * | head_addr |
|
size_t * | tail_addr |
|
size_t | id |
|
t_bytecpy | push_memcpy |
|
t_bytecpy | pop_memcpy |
|
memcpy_ptr | dma_init |
|
size_t(* | dma_check )() |
|
T * | dma_ptr |
|
size_t | dma_left |
|
size_t | dma_size |
|
unsigned | timeout |
|
unsigned | time2sleep |
|
int | pad [16-3-5 *sizeof(memcpy_ptr)/sizeof(int)] |
| резервные поля
|
|
◆ PushRequest()
template<class T >
void C_RingBuffer< T >::PushRequest |
( |
T * |
pSrcElements, |
|
|
size_t |
numElements |
|
) |
| |
|
inline |
Объявления и описания членов класса находятся в файле: