RTXI  3.0.0
The Real-Time eXperiment Interface Reference Manual
Data Structures | Typedefs | Enumerations | Variables
IO Namespace Reference

Connection Oriented Classes. More...

Data Structures

struct  channel_t
 
class  Block
 
struct  endpoint
 

Typedefs

typedef struct IO::channel_t channel_t
 
typedef struct IO::endpoint endpoint
 

Enumerations

enum  flags_t : size_t { OUTPUT = 0 , INPUT , UNKNOWN }
 

Variables

constexpr size_t INVALID_BLOCK_ID = std::numeric_limits<size_t>::max()
 

Detailed Description

Connection Oriented Classes.

Objects contained within this namespace are responsible for managing data sharing between various RTXI entities called blocks. This is different to the Fifo used for interprocess communication between rtxi and its realtime thread.

See also
RT::OS::Fifo

Typedef Documentation

◆ channel_t

Structure used to pass information to an IO::Block upon creation. It is a structure critical for describing the block's ports.

Parameters
nameThe name of the channel
descriptionshort description of the channel
flagswhether the channel is IO::INPUT or IO::OUTPUT type
See also
IO::Block::Block()

◆ endpoint

typedef struct IO::endpoint IO::endpoint

Structure used to pass information to plugins about a connection.

This structure holds details that identifies a connection end. it is guaranteed to be unique and has comparison functions implemented to allow for ease of equality checks in higher level algorithms

Parameters
blockPointer to the block object
portThe index of the channel this object represents
directionAn IO::flags_t value stating the direction. possible values are: IO::INPUT, IO::OUTPUT, IO::UNKNOWN (default)
See also
IO::Block::Block()

Enumeration Type Documentation

◆ flags_t

enum IO::flags_t : size_t

Variable used to specify the type of a channel.

Blocks can either have INPUT or OUTPUT channels to other blocks. These channels are usually default constructed to UNKNOWN, which is an error if used as such

Enumerator
OUTPUT 
INPUT 
UNKNOWN 

Definition at line 51 of file io.hpp.

Variable Documentation

◆ INVALID_BLOCK_ID

constexpr size_t IO::INVALID_BLOCK_ID = std::numeric_limits<size_t>::max()
constexpr

Definition at line 42 of file io.hpp.