iox🔗
Namespaces🔗
Name |
---|
iox::capro |
iox::config |
iox::gw |
iox::helper |
iox::mepoo |
iox::popo |
iox::roudi |
iox::runtime |
iox::version |
Classes🔗
Name | |
---|---|
struct | iox::Config |
struct | iox::DefaultChunkDistributorConfig |
struct | iox::DefaultChunkQueueConfig |
Types🔗
Name | |
---|---|
enum uint32_t | SubscribeState { NOT_SUBSCRIBED = 0, SUBSCRIBE_REQUESTED, SUBSCRIBED, UNSUBSCRIBE_REQUESTED, WAIT_FOR_OFFER} |
enum uint32_t | ConnectionState { NOT_CONNECTED = 0, CONNECT_REQUESTED, CONNECTED, DISCONNECT_REQUESTED, WAIT_FOR_OFFER} |
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 iox::build::CommunicationPolicy | SubscriberPortType |
using cxx::string< MAX_RUNTIME_NAME_LENGTH > | RuntimeName_t |
using cxx::string< 100 > | NodeName_t |
using cxx::string< 128 > | ShmName_t |
Functions🔗
Name | |
---|---|
constexpr const char * | asStringLiteral(ConnectionState value) Converts the ConnectionState to a string literal. |
std::ostream & | operator<<(std::ostream & stream, ConnectionState value) Convenience stream operator to easily use the asStringLiteral function with std::ostream. |
log::LogStream & | operator<<(log::LogStream & stream, ConnectionState value) Convenience stream operator to easily use the asStringLiteral function with iox::log::LogStream. |
Attributes🔗
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 | ||
CONNECTED | ||
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 SubscriberPortType🔗
using iox::SubscriberPortType = typedef iox::build::CommunicationPolicy;
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>;
Functions Documentation🔗
function asStringLiteral🔗
inline constexpr const char * asStringLiteral(
ConnectionState value
)
Converts the ConnectionState to a string literal.
Parameters:
- value to convert to a string literal
Return: pointer to a string literal
function operator<<🔗
inline std::ostream & operator<<(
std::ostream & stream,
ConnectionState value
)
Convenience stream operator to easily use the asStringLiteral
function with std::ostream.
Parameters:
- stream sink to write the message to
- value to convert to a string literal
Return: the reference to stream
which was provided as input parameter
function operator<<🔗
inline log::LogStream & operator<<(
log::LogStream & stream,
ConnectionState value
)
Convenience stream operator to easily use the asStringLiteral
function with iox::log::LogStream.
Parameters:
- stream sink to write the message to
- value to convert to a string literal
Return: the reference to stream
which was provided as input parameter
Attributes Documentation🔗
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 PUBLISHERS_RESERVED_FOR_SERVICE_REGISTRY🔗
constexpr uint32_t PUBLISHERS_RESERVED_FOR_SERVICE_REGISTRY = 1;
variable NUMBER_OF_INTERNAL_PUBLISHERS🔗
constexpr uint32_t NUMBER_OF_INTERNAL_PUBLISHERS =
PUBLISHERS_RESERVED_FOR_INTROSPECTION + PUBLISHERS_RESERVED_FOR_SERVICE_REGISTRY;
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🔗
constexpr uint32_t MAX_NUMBER_OF_NOTIFIERS = build::IOX_MAX_NUMBER_OF_NOTIFIERS;
variable MAX_NUMBER_OF_ATTACHMENTS_PER_WAITSET🔗
constexpr uint32_t MAX_NUMBER_OF_ATTACHMENTS_PER_WAITSET = MAX_NUMBER_OF_NOTIFIERS;
Note: Waitset and Listener share both the max available notifiers, if one of them is running out of of notifiers the variable above must be increased
variable MAX_NUMBER_OF_EVENTS_PER_LISTENER🔗
constexpr uint32_t MAX_NUMBER_OF_EVENTS_PER_LISTENER = MAX_NUMBER_OF_NOTIFIERS;
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 SERVICE_REGISTRY_CAPACITY🔗
constexpr uint32_t SERVICE_REGISTRY_CAPACITY = MAX_PUBLISHERS + MAX_SERVERS;
variable MAX_FINDSERVICE_RESULT_SIZE🔗
constexpr uint32_t MAX_FINDSERVICE_RESULT_SIZE = SERVICE_REGISTRY_CAPACITY;
variable SERVICE_DISCOVERY_SERVICE_NAME🔗
constexpr const char SERVICE_DISCOVERY_SERVICE_NAME = "ServiceDiscovery";
variable SERVICE_DISCOVERY_INSTANCE_NAME🔗
constexpr const char SERVICE_DISCOVERY_INSTANCE_NAME = "RouDi_ID";
variable SERVICE_DISCOVERY_EVENT_NAME🔗
constexpr const char SERVICE_DISCOVERY_EVENT_NAME = "ServiceRegistry";
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;
Updated on 18 December 2023 at 13:11:43 CET