10namespace Arp {
namespace System {
namespace Ve
12class IMessageQueueService;
15namespace Arp {
namespace System {
namespace Commons {
namespace Ipc
148 using IMessageQueueService = Arp::System::Ve::IMessageQueueService;
158 IMessageQueueService *pMessageQueueService;
Message queues allow processes to exchange data in form of messages
Definition: MessageQueue.hpp:23
void Send(const char *pMsg, size_t len, unsigned int prio, Milliseconds timeoutMs=Milliseconds(0))
Sends a message to the queue.
OpenMode
Supported opening modes for message queues.
Definition: MessageQueue.hpp:28
void Unlink()
Deletes the message queue.
MessageQueue(const String &name, OpenMode openMode, Access permission, bool blocking, long maxmsg, long msgsize)
Tries to construct a new message queue based on assigned parameters.
bool IsBlocking() const
Checks if this message queue was created in blocking mode.
void Close()
Closes the message queue.
long GetMessageCount() const
Queries the current amount of message stored in the message queue.
MessageQueue(const String &name, OpenMode openMode, Access permission=Access::ReadWrite, bool blocking=false)
Tries to construct a new message queue based on assigned parameters.
Access
Supported access modes for message queues.
Definition: MessageQueue.hpp:36
@ ReadWrite
Object owner can reas and write to message queue.
~MessageQueue(void)
Destructs this instance and closes the message queue.
long GetMaxMessageSize() const
Queries the maximal supported byte-size of a message.
long GetMaxMessageCount() const
Queries the maximal amount of messages that can be stored inside the message queue.
MessageQueue(const String &name, bool blocking=false)
Tries to open an already existing message queue.
size_t Receive(char *pBuffer, size_t len, unsigned int &prio, Milliseconds timeoutMs=Milliseconds(0))
Receives a message from the queue.
std::chrono::milliseconds Milliseconds
The Arp Milliseconds unit class.
Definition: TypeSystem.h:52
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API