iceoryx(冰羚)-进程间消息同步
iceoryx进程间消息同步
iceoryx进程间消息同步,是用socket或管道实现的,定义在iceoryx\iceoryx_posh\include\iceoryx_posh\internal\runtime\ipc_interface_base.hpp
namespace platform
{
#if defined(_WIN32)
using IoxIpcChannelType = iox::posix::NamedPipe;
#elif defined(__FREERTOS__)
using IoxIpcChannelType = iox::posix::NamedPipe;
#else
using IoxIpcChannelType = iox::posix::UnixDomainSocket;
#endif
} // namespace platform
消息类型定义
enum class IpcMessageType : int32_t
{
BEGIN = -1,
NOTYPE = 0,
REG, // register app
REG_ACK,
CREATE_PUBLISHER,
CREATE_PUBLISHER_ACK,
CREATE_SUBSCRIBER,
CREATE_SUBSCRIBER_ACK,
CREATE_CLIENT,
CREATE_CLIENT_ACK,
CREATE_SERVER,
CREATE_SERVER_ACK,
CREATE_INTERFACE,
CREATE_INTERFACE_ACK,
CREATE_CONDITION_VARIABLE,
CREATE_CONDITION_VARIABLE_ACK,
CREATE_NODE,
CREATE_NODE_ACK,
KEEPALIVE,
TERMINATION,
TERMINATION_ACK,
PREPARE_APP_TERMINATION,
PREPARE_APP_TERMINATION_ACK,
ERROR,
APP_WAIT,
WAKEUP_TRIGGER,
REPLAY,
MESSAGE_NOT_SUPPORTED,
// etc..
END,
};
具体消息格式