2022-04-11 11:19:38 +02:00
|
|
|
#include "MessageQueueBase.h"
|
|
|
|
|
2022-04-27 08:39:21 +02:00
|
|
|
MessageQueueBase::MessageQueueBase(MessageQueueId_t id, MessageQueueId_t defaultDest, MqArgs* args)
|
|
|
|
: id(id) {
|
2022-04-11 11:19:38 +02:00
|
|
|
this->defaultDest = defaultDest;
|
2022-04-27 08:39:21 +02:00
|
|
|
if (args != nullptr) {
|
2022-04-11 11:19:38 +02:00
|
|
|
this->args = *args;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-07-25 14:04:06 +02:00
|
|
|
MessageQueueBase::~MessageQueueBase() = default;
|
2022-04-11 13:54:43 +02:00
|
|
|
|
2022-04-11 11:19:38 +02:00
|
|
|
ReturnValue_t MessageQueueBase::sendToDefault(MessageQueueMessageIF* message) {
|
|
|
|
return sendToDefaultFrom(message, this->getId(), false);
|
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t MessageQueueBase::reply(MessageQueueMessageIF* message) {
|
|
|
|
if (this->last != MessageQueueIF::NO_QUEUE) {
|
|
|
|
return sendMessageFrom(this->last, message, this->getId());
|
|
|
|
} else {
|
|
|
|
return NO_REPLY_PARTNER;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ReturnValue_t MessageQueueBase::receiveMessage(MessageQueueMessageIF* message,
|
2022-04-27 08:39:21 +02:00
|
|
|
MessageQueueId_t* receivedFrom) {
|
2022-04-11 11:19:38 +02:00
|
|
|
ReturnValue_t status = this->receiveMessage(message);
|
|
|
|
*receivedFrom = this->last;
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
|
2022-04-27 08:39:21 +02:00
|
|
|
MessageQueueId_t MessageQueueBase::getLastPartner() const { return last; }
|
2022-04-11 13:54:43 +02:00
|
|
|
|
2022-04-27 08:39:21 +02:00
|
|
|
MessageQueueId_t MessageQueueBase::getId() const { return id; }
|
2022-04-11 13:54:43 +02:00
|
|
|
|
2022-04-27 08:39:21 +02:00
|
|
|
MqArgs& MessageQueueBase::getMqArgs() { return args; }
|
2022-04-11 13:54:43 +02:00
|
|
|
|
|
|
|
void MessageQueueBase::setDefaultDestination(MessageQueueId_t defaultDestination) {
|
|
|
|
this->defaultDest = defaultDestination;
|
|
|
|
}
|
|
|
|
|
2022-04-27 08:39:21 +02:00
|
|
|
MessageQueueId_t MessageQueueBase::getDefaultDestination() const { return defaultDest; }
|
2022-04-11 13:54:43 +02:00
|
|
|
|
2022-04-27 08:39:21 +02:00
|
|
|
bool MessageQueueBase::isDefaultDestinationSet() const { return (defaultDest != NO_QUEUE); }
|
2022-04-11 13:54:43 +02:00
|
|
|
|
|
|
|
ReturnValue_t MessageQueueBase::sendMessage(MessageQueueId_t sendTo, MessageQueueMessageIF* message,
|
|
|
|
bool ignoreFault) {
|
|
|
|
return sendMessageFrom(sendTo, message, this->getId(), false);
|
|
|
|
}
|
|
|
|
|
2022-04-11 11:19:38 +02:00
|
|
|
ReturnValue_t MessageQueueBase::sendToDefaultFrom(MessageQueueMessageIF* message,
|
2022-04-11 13:54:43 +02:00
|
|
|
MessageQueueId_t sentFrom, bool ignoreFault) {
|
2022-04-11 11:19:38 +02:00
|
|
|
return sendMessageFrom(defaultDest, message, sentFrom, ignoreFault);
|
|
|
|
}
|