RTXI  3.0.0
The Real-Time eXperiment Interface Reference Manual
Public Member Functions
RT::OS::xbuffFifo Class Reference
Inheritance diagram for RT::OS::xbuffFifo:
Inheritance graph
Collaboration diagram for RT::OS::xbuffFifo:
Collaboration graph

Public Member Functions

 xbuffFifo (size_t size)
 
 xbuffFifo (const xbuffFifo &fifo)=delete
 
xbuffFifooperator= (const xbuffFifo &fifo)=delete
 
 xbuffFifo (xbuffFifo &&)=default
 
xbuffFifooperator= (xbuffFifo &&)=default
 
 ~xbuffFifo () override
 
size_t getCapacity () override
 
int64_t read (void *buf, size_t data_size) override
 
int64_t write (void *buf, size_t data_size) override
 
int64_t readRT (void *buf, size_t data_size) override
 
int64_t writeRT (void *buf, size_t data_size) override
 
void poll () override
 
void close () override
 
- Public Member Functions inherited from RT::OS::Fifo
 Fifo ()=default
 
 Fifo (const Fifo &fifo)=delete
 
Fifooperator= (const Fifo &fifo)=delete
 
 Fifo (Fifo &&)=default
 
Fifooperator= (Fifo &&)=default
 
virtual ~Fifo ()=default
 

Detailed Description

Definition at line 32 of file fifo.cpp.

Constructor & Destructor Documentation

◆ xbuffFifo() [1/3]

RT::OS::xbuffFifo::xbuffFifo(size_t size)
explicit

Definition at line 73 of file fifo.cpp.

◆ xbuffFifo() [2/3]

RT::OS::xbuffFifo::xbuffFifo(const xbuffFifofifo)
delete

◆ xbuffFifo() [3/3]

RT::OS::xbuffFifo::xbuffFifo(xbuffFifo && )
default

◆ ~xbuffFifo()

RT::OS::xbuffFifo::~xbuffFifo()
override

Definition at line 80 of file fifo.cpp.

Member Function Documentation

◆ close()

void RT::OS::xbuffFifo::close()
overridevirtual

Closes the handle stored and prevents reading from the ui side

Implements RT::OS::Fifo.

Definition at line 184 of file fifo.cpp.

◆ getCapacity()

size_t RT::OS::xbuffFifo::getCapacity()
overridevirtual

Get the memory capacity of the fifo

Returns
The maximum amount of memory the fifo can hold

Implements RT::OS::Fifo.

Definition at line 189 of file fifo.cpp.

◆ operator=() [1/2]

xbuffFifo& RT::OS::xbuffFifo::operator=(const xbuffFifofifo)
delete

◆ operator=() [2/2]

xbuffFifo& RT::OS::xbuffFifo::operator=(xbuffFifo && )
default

◆ poll()

void RT::OS::xbuffFifo::poll()
overridevirtual

Checks whether there is available data to read on the non-rt side

This function is primarily for non-rt threads to wait on available data from the rt thread. It blocks (sleeps) the calling thread until woken by data availability. SHOULD NOT RUN IN REAL TIME!!

Implements RT::OS::Fifo.

Definition at line 169 of file fifo.cpp.

◆ read()

int64_t RT::OS::xbuffFifo::read(void * buf,
size_t data_size 
)
overridevirtual

Read the data stored in the FIFO written by realtime thread. Must be run from non-rt thread.

Parameters
bufThe buffer where the data from the buffer should be written to
data_sizeThe size of the data to read from the buffer
Returns
n Number of elements read. Same as size.

Implements RT::OS::Fifo.

Definition at line 86 of file fifo.cpp.

◆ readRT()

int64_t RT::OS::xbuffFifo::readRT(void * buf,
size_t data_size 
)
overridevirtual

Read the data stored in the FIFO written by non-RT thread. Must be run from realtime thread.

Parameters
bufThe buffer where the data from the buffer should be written to
data_sizeThe size of the data to read from the buffer
Returns
n Number of elements read. Same as size.

Implements RT::OS::Fifo.

Definition at line 127 of file fifo.cpp.

◆ write()

int64_t RT::OS::xbuffFifo::write(void * buf,
size_t data_size 
)
overridevirtual

Write to the FIFO storage for the realtime thread. Must be run from non-rt thread.

Parameters
bufThe buffer holding the data to write to the FIFO.
data_sizeThe size of the data to read from the buffer
Returns
n Number of elements written. Same as size.

Implements RT::OS::Fifo.

Definition at line 108 of file fifo.cpp.

Here is the call graph for this function:

◆ writeRT()

int64_t RT::OS::xbuffFifo::writeRT(void * buf,
size_t data_size 
)
overridevirtual

Write to the FIFO storage for the non-RT thread. Must be run from realtime thread.

Parameters
bufThe buffer holding the data to write to the FIFO.
data_sizeThe size of the data to read from the buffer
Returns
n Number of elements written. Same as size.

Implements RT::OS::Fifo.

Definition at line 149 of file fifo.cpp.

Here is the call graph for this function:

The documentation for this class was generated from the following file: