iox🔗
Namespaces🔗
Name |
---|
iox::capro |
iox::config |
iox::gw |
iox::helper |
iox::log |
iox::mepoo Mepoo Component Description. |
iox::popo |
iox::posix |
iox::roudi |
iox::runtime |
iox::version |
Classes🔗
Name | |
---|---|
struct | iox::Config |
struct | iox::DefaultChunkDistributorConfig |
struct | iox::DefaultChunkQueueConfig |
struct | iox::LoggingComponent |
Types🔗
Name | |
---|---|
enum uint32_t | SubscribeState |
enum uint32_t | ConnectionState |
using Config< mepoo::SegmentConfig, config::RouDiConfig > | RouDiConfig_t |
using iox::popo::PublisherPortRouDi | PublisherPortRouDiType |
using iox::popo::PublisherPortUser | PublisherPortUserType |
using iox::popo::SubscriberPortRouDi | SubscriberPortRouDiType |
using iox::popo::SubscriberPortUser | SubscriberPortUserType |
using popo::TypedUniqueId< popo::BasePortData > | UniquePortId |
using iox::build::CommunicationPolicy | SubscriberPortType |
using iox::posix::UnixDomainSocket | IpcChannelType The socket is created in the current path if no absolute path is given hence we need an absolut path so that every application knows where our sockets can be found. |
using cxx::string< MAX_RUNTIME_NAME_LENGTH > | RuntimeName_t |
using cxx::string< 100 > | NodeName_t |
using cxx::string< 128 > | ShmName_t |
Attributes🔗
Detailed Description🔗
Todo:
- this might be needed to be public when the logger is used in templates
- this might be needed to be public when the logger is used in templates
Types Documentation🔗
enum SubscribeState🔗
Enumerator | Value | Description |
---|---|---|
NOT_SUBSCRIBED | 0 | |
SUBSCRIBE_REQUESTED | ||
SUBSCRIBED | ||
UNSUBSCRIBE_REQUESTED | ||
WAIT_FOR_OFFER |
enum ConnectionState🔗
Enumerator | Value | Description |
---|---|---|
NOT_CONNECTED | 0 | |
CONNECT_REQUESTED | ||
CONNNECTED | ||
DISCONNECT_REQUESTED | ||
WAIT_FOR_OFFER |
using RouDiConfig_t🔗
using iox::RouDiConfig_t = typedef Config<mepoo::SegmentConfig, config::RouDiConfig>;
using PublisherPortRouDiType🔗
using iox::PublisherPortRouDiType = typedef iox::popo::PublisherPortRouDi;
using PublisherPortUserType🔗
using iox::PublisherPortUserType = typedef iox::popo::PublisherPortUser;
using SubscriberPortRouDiType🔗
using iox::SubscriberPortRouDiType = typedef iox::popo::SubscriberPortRouDi;
using SubscriberPortUserType🔗
using iox::SubscriberPortUserType = typedef iox::popo::SubscriberPortUser;
using UniquePortId🔗
using iox::UniquePortId = typedef popo::TypedUniqueId<popo::BasePortData>;
using SubscriberPortType🔗
using iox::SubscriberPortType = typedef iox::build::CommunicationPolicy;
using IpcChannelType🔗
using iox::IpcChannelType = typedef iox::posix::UnixDomainSocket;
The socket is created in the current path if no absolute path is given hence we need an absolut path so that every application knows where our sockets can be found.
using RuntimeName_t🔗
using iox::RuntimeName_t = typedef cxx::string<MAX_RUNTIME_NAME_LENGTH>;
using NodeName_t🔗
using iox::NodeName_t = typedef cxx::string<100>;
using ShmName_t🔗
using iox::ShmName_t = typedef cxx::string<128>;
Attributes Documentation🔗
variable MAX_RECEIVERS_PER_SENDERPORT🔗
constexpr uint32_t MAX_RECEIVERS_PER_SENDERPORT = build::IOX_MAX_SUBSCRIBERS_PER_PUBLISHER;
Todo: remove MAX_RECEIVERS_PER_SENDERPORT when the new port building blocks are used
variable MAX_PUBLISHERS🔗
constexpr uint32_t MAX_PUBLISHERS = build::IOX_MAX_PUBLISHERS;
variable MAX_SUBSCRIBERS_PER_PUBLISHER🔗
constexpr uint32_t MAX_SUBSCRIBERS_PER_PUBLISHER = build::IOX_MAX_SUBSCRIBERS_PER_PUBLISHER;
variable MAX_CHUNKS_ALLOCATED_PER_PUBLISHER_SIMULTANEOUSLY🔗
constexpr uint32_t MAX_CHUNKS_ALLOCATED_PER_PUBLISHER_SIMULTANEOUSLY =
build::IOX_MAX_CHUNKS_ALLOCATED_PER_PUBLISHER_SIMULTANEOUSLY;
variable MAX_PUBLISHER_HISTORY🔗
constexpr uint64_t MAX_PUBLISHER_HISTORY = build::IOX_MAX_PUBLISHER_HISTORY;
variable MAX_SUBSCRIBERS🔗
constexpr uint32_t MAX_SUBSCRIBERS = build::IOX_MAX_SUBSCRIBERS;
variable MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY🔗
constexpr uint32_t MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY =
build::IOX_MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY;
variable MAX_SUBSCRIBER_QUEUE_CAPACITY🔗
constexpr uint32_t MAX_SUBSCRIBER_QUEUE_CAPACITY = MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY;
variable PUBLISHERS_RESERVED_FOR_INTROSPECTION🔗
constexpr uint32_t PUBLISHERS_RESERVED_FOR_INTROSPECTION = 5;
variable MAX_INTERFACE_NUMBER🔗
constexpr uint32_t MAX_INTERFACE_NUMBER = build::IOX_MAX_INTERFACE_NUMBER;
With MAX_SUBSCRIBER_QUEUE_CAPACITY = MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY we couple the maximum number of chunks a user is allowed to hold with the maximum queue capacity. This allows that a polling user can replace all the held chunks in one execution with all new ones from a completely filled queue. Or the other way round, when we have a contract with the user regarding how many chunks they are allowed to hold, then the queue size needs not be bigger. We can provide this number of newest chunks, more the user would not be allowed to hold anyway
variable MAX_INTERFACE_CAPRO_FIFO_SIZE🔗
constexpr uint32_t MAX_INTERFACE_CAPRO_FIFO_SIZE = MAX_PUBLISHERS;
variable MAX_CHANNEL_NUMBER🔗
constexpr uint32_t MAX_CHANNEL_NUMBER = MAX_PUBLISHERS + MAX_SUBSCRIBERS;
variable MAX_GATEWAY_SERVICES🔗
constexpr uint32_t MAX_GATEWAY_SERVICES = 2 * MAX_CHANNEL_NUMBER;
variable MAX_CLIENTS🔗
constexpr uint32_t MAX_CLIENTS = build::IOX_MAX_SUBSCRIBERS;
variable MAX_REQUESTS_ALLOCATED_SIMULTANEOUSLY🔗
constexpr uint32_t MAX_REQUESTS_ALLOCATED_SIMULTANEOUSLY = 4U;
Todo:
variable MAX_RESPONSES_PROCESSED_SIMULTANEOUSLY🔗
constexpr uint32_t MAX_RESPONSES_PROCESSED_SIMULTANEOUSLY = 16U;
variable MAX_RESPONSE_QUEUE_CAPACITY🔗
constexpr uint32_t MAX_RESPONSE_QUEUE_CAPACITY = 16U;
variable MAX_SERVERS🔗
constexpr uint32_t MAX_SERVERS = build::IOX_MAX_PUBLISHERS;
variable MAX_CLIENTS_PER_SERVER🔗
constexpr uint32_t MAX_CLIENTS_PER_SERVER = 256U;
Todo:
variable MAX_REQUESTS_PROCESSED_SIMULTANEOUSLY🔗
constexpr uint32_t MAX_REQUESTS_PROCESSED_SIMULTANEOUSLY = 4U;
variable MAX_RESPONSES_ALLOCATED_SIMULTANEOUSLY🔗
constexpr uint32_t MAX_RESPONSES_ALLOCATED_SIMULTANEOUSLY = MAX_REQUESTS_PROCESSED_SIMULTANEOUSLY;
variable MAX_REQUEST_QUEUE_CAPACITY🔗
constexpr uint32_t MAX_REQUEST_QUEUE_CAPACITY = 1024;
variable MAX_NUMBER_OF_CONDITION_VARIABLES🔗
constexpr uint32_t MAX_NUMBER_OF_CONDITION_VARIABLES = 1024U;
variable MAX_NUMBER_OF_NOTIFIERS_PER_CONDITION_VARIABLE🔗
constexpr uint32_t MAX_NUMBER_OF_NOTIFIERS_PER_CONDITION_VARIABLE = 128U;
variable MAX_NUMBER_OF_ATTACHMENTS_PER_WAITSET🔗
constexpr uint32_t MAX_NUMBER_OF_ATTACHMENTS_PER_WAITSET = 128U;
variable MAX_NUMBER_OF_EVENT_VARIABLES🔗
constexpr uint8_t MAX_NUMBER_OF_EVENT_VARIABLES = 128U;
variable MAX_NUMBER_OF_EVENTS_PER_LISTENER🔗
constexpr uint8_t MAX_NUMBER_OF_EVENTS_PER_LISTENER = 128U;
variable MAX_APPLICATION_CAPRO_FIFO_SIZE🔗
constexpr uint32_t MAX_APPLICATION_CAPRO_FIFO_SIZE = 128U;
variable MAX_NUMBER_OF_MEMPOOLS🔗
constexpr uint32_t MAX_NUMBER_OF_MEMPOOLS = 32U;
variable MAX_SHM_SEGMENTS🔗
constexpr uint32_t MAX_SHM_SEGMENTS = 100U;
variable MAX_NUMBER_OF_MEMORY_PROVIDER🔗
constexpr uint32_t MAX_NUMBER_OF_MEMORY_PROVIDER = 8U;
variable MAX_NUMBER_OF_MEMORY_BLOCKS_PER_MEMORY_PROVIDER🔗
constexpr uint32_t MAX_NUMBER_OF_MEMORY_BLOCKS_PER_MEMORY_PROVIDER = 64U;
variable CHUNK_DEFAULT_USER_PAYLOAD_ALIGNMENT🔗
constexpr uint32_t CHUNK_DEFAULT_USER_PAYLOAD_ALIGNMENT {8U};
variable CHUNK_NO_USER_HEADER_SIZE🔗
constexpr uint32_t CHUNK_NO_USER_HEADER_SIZE {0U};
variable CHUNK_NO_USER_HEADER_ALIGNMENT🔗
constexpr uint32_t CHUNK_NO_USER_HEADER_ALIGNMENT {1U};
variable ROUDI_MAX_MESSAGES🔗
constexpr uint32_t ROUDI_MAX_MESSAGES = 5U;
variable ROUDI_MESSAGE_SIZE🔗
constexpr uint32_t ROUDI_MESSAGE_SIZE = 512U;
variable APP_MAX_MESSAGES🔗
constexpr uint32_t APP_MAX_MESSAGES = 5U;
variable APP_MESSAGE_SIZE🔗
constexpr uint32_t APP_MESSAGE_SIZE = 512U;
variable MAX_PROCESS_NUMBER🔗
constexpr uint32_t MAX_PROCESS_NUMBER = 300U;
variable MAX_NUMBER_OF_INSTANCES🔗
constexpr uint32_t MAX_NUMBER_OF_INSTANCES = 50U;
Maximum number of instances of a given service, which can be found. This limitation is coming due to the fixed capacity of the cxx::vector (This doesn't limit the offered number of instances)
variable MAX_NODE_NUMBER🔗
constexpr uint32_t MAX_NODE_NUMBER = 1000U;
variable MAX_NODE_PER_PROCESS🔗
constexpr uint32_t MAX_NODE_PER_PROCESS = 50U;
variable MAX_RUNTIME_NAME_LENGTH🔗
constexpr uint32_t MAX_RUNTIME_NAME_LENGTH = MAX_IPC_CHANNEL_NAME_LENGTH;
variable LogFatal🔗
static constexpr auto LogFatal = iox::log::ffbb::LogFatal<[LoggingComponent](/v1.0.3/API-reference/posh/Classes/structiox_1_1LoggingComponent/)>;
variable LogError🔗
static constexpr auto LogError = iox::log::ffbb::LogError<[LoggingComponent](/v1.0.3/API-reference/posh/Classes/structiox_1_1LoggingComponent/)>;
variable LogWarn🔗
static constexpr auto LogWarn = iox::log::ffbb::LogWarn<[LoggingComponent](/v1.0.3/API-reference/posh/Classes/structiox_1_1LoggingComponent/)>;
variable LogInfo🔗
static constexpr auto LogInfo = iox::log::ffbb::LogInfo<[LoggingComponent](/v1.0.3/API-reference/posh/Classes/structiox_1_1LoggingComponent/)>;
variable LogDebug🔗
static constexpr auto LogDebug = iox::log::ffbb::LogDebug<[LoggingComponent](/v1.0.3/API-reference/posh/Classes/structiox_1_1LoggingComponent/)>;
variable LogVerbose🔗
static constexpr auto LogVerbose = iox::log::ffbb::LogVerbose<[LoggingComponent](/v1.0.3/API-reference/posh/Classes/structiox_1_1LoggingComponent/)>;
Updated on 31 May 2022 at 15:29:15 CEST