removed hardcoded ip information
This commit is contained in:
parent
14a7dd885b
commit
531d8c45e8
@ -136,7 +136,8 @@ void ActionHelper::prepareExecution(MessageQueueId_t commandedBy, size_t offset,
|
||||
|
||||
CommandMessage message;
|
||||
|
||||
TmMessage::setCommand(&message, replyStoreId, dataAddress);
|
||||
ipcStore->deleteData(dataAddress);
|
||||
TmMessage::setCommand(&message, replyStoreId, store_address_t());
|
||||
|
||||
queueToUse->sendMessage(information.reportingQueue, &message);
|
||||
|
||||
|
@ -13,11 +13,15 @@
|
||||
#include "FsfwProtocolHeader.h"
|
||||
#include "TmMessage.h"
|
||||
|
||||
UdpTmTcBridgeNew::UdpTmTcBridgeNew(object_id_t objectId, object_id_t tmStoreId,
|
||||
object_id_t tcStoreId)
|
||||
: SystemObject(objectId), defaultDestination(nullptr), defaultDestinationLen(0) {
|
||||
UdpTmTcBridgeNew::UdpTmTcBridgeNew(object_id_t objectId, uint16_t listeningPort,
|
||||
const sockaddr *defaultDestination_in,
|
||||
socklen_t defaultDestinationLen)
|
||||
: SystemObject(objectId),
|
||||
listeningPort(listeningPort),
|
||||
defaultDestinationLen(defaultDestinationLen) {
|
||||
messageQueue =
|
||||
QueueFactory::instance()->createMessageQueue(50, MessageQueueMessage::MAX_MESSAGE_SIZE);
|
||||
memcpy(&this->defaultDestination, defaultDestination_in, defaultDestinationLen);
|
||||
}
|
||||
|
||||
UdpTmTcBridgeNew::~UdpTmTcBridgeNew() {}
|
||||
@ -58,7 +62,7 @@ ReturnValue_t UdpTmTcBridgeNew::initialize() {
|
||||
memset(&serverAddr, 0, sizeof(serverAddr));
|
||||
|
||||
serverAddr.sin6_family = AF_INET6;
|
||||
serverAddr.sin6_port = htons(6667);
|
||||
serverAddr.sin6_port = htons(listeningPort);
|
||||
serverAddr.sin6_addr = IN6ADDR_ANY_INIT;
|
||||
|
||||
retval = bind(serverSocket, (struct sockaddr *)&serverAddr, sizeof(serverAddr));
|
||||
@ -131,10 +135,6 @@ void UdpTmTcBridgeNew::handleTC() {
|
||||
ssize_t receivedLen = recvfrom(serverSocket, applicationData, peekLen, 0,
|
||||
(struct sockaddr *)(bufferPointer + 1), &senderlen);
|
||||
|
||||
printf("type %i, port %i, senderlen %i, sizeof4 %li, sizeof6 %li\n", sender.ss_family,
|
||||
ntohs(((sockaddr_in *)&sender)->sin_port), senderlen, sizeof(sockaddr_in),
|
||||
sizeof(sockaddr_in6));
|
||||
|
||||
if (receivedLen == -1) {
|
||||
return;
|
||||
}
|
||||
@ -202,7 +202,7 @@ void UdpTmTcBridgeNew::handleTM() {
|
||||
size_t tcDataSize;
|
||||
result = IPCStore->getData(tc, &tcData, &tcDataSize);
|
||||
if (result != returnvalue::OK) {
|
||||
receiver = defaultDestination;
|
||||
receiver = (const sockaddr *)&defaultDestination;
|
||||
receiverLen = defaultDestinationLen;
|
||||
} else {
|
||||
if (*tcData != IP6) {
|
||||
@ -218,6 +218,9 @@ void UdpTmTcBridgeNew::handleTM() {
|
||||
result = IPCStore->getData(tm, &tmData, &tmDataSize);
|
||||
if (result != returnvalue::OK) {
|
||||
// nothing to send
|
||||
if (tc != store_address_t()) {
|
||||
IPCStore->deleteData(tc);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@ -226,4 +229,8 @@ void UdpTmTcBridgeNew::handleTM() {
|
||||
if (res == -1) {
|
||||
sif::error << "UdpTmTcBridge::handleTM: sendto failed with " << errno << std::endl;
|
||||
}
|
||||
IPCStore->deleteData(tm);
|
||||
if (tc != store_address_t()) {
|
||||
IPCStore->deleteData(tc);
|
||||
}
|
||||
}
|
||||
|
@ -14,7 +14,8 @@ class UdpTmTcBridgeNew : public SystemObject,
|
||||
enum PerformOperationCode { BOTH = 0, TM, TC };
|
||||
|
||||
static const size_t MINIMAL_LENGTH = 4 + 2; // ObjectId, interface, function
|
||||
UdpTmTcBridgeNew(object_id_t objectId, object_id_t tmStoreId, object_id_t tcStoreId);
|
||||
UdpTmTcBridgeNew(object_id_t objectId, uint16_t listeningPort, const sockaddr* defaultDestination,
|
||||
socklen_t defaultDestinationLen);
|
||||
virtual ~UdpTmTcBridgeNew();
|
||||
|
||||
ReturnValue_t initialize() override;
|
||||
@ -24,11 +25,12 @@ class UdpTmTcBridgeNew : public SystemObject,
|
||||
MessageQueueId_t getReportReceptionQueue() const override;
|
||||
|
||||
private:
|
||||
uint16_t listeningPort;
|
||||
MessageQueueIF* messageQueue;
|
||||
int serverSocket;
|
||||
StorageManagerIF* IPCStore;
|
||||
|
||||
const sockaddr* const defaultDestination;
|
||||
sockaddr_storage defaultDestination;
|
||||
const socklen_t defaultDestinationLen;
|
||||
|
||||
void handleTC();
|
||||
|
Loading…
x
Reference in New Issue
Block a user