fsfw/src/fsfw/cfdp/handler/mib.h

44 lines
1.1 KiB
C
Raw Normal View History

2022-08-09 14:39:03 +02:00
#ifndef FSFW_CFDP_MIB_H
#define FSFW_CFDP_MIB_H
2022-08-09 15:46:42 +02:00
#include <utility>
#include "FaultHandlerBase.h"
2022-08-09 16:36:35 +02:00
#include "fsfw/cfdp/pdu/PduConfig.h"
2022-08-09 15:46:42 +02:00
namespace cfdp {
2022-08-09 14:39:03 +02:00
struct IndicationCfg {
bool eofSentIndicRequired = true;
bool eofRecvIndicRequired = true;
bool fileSegmentRecvIndicRequired = true;
bool transactionFinishedIndicRequired = true;
bool suspendedIndicRequired = true;
bool resumedIndicRequired = true;
};
struct LocalEntityCfg {
2022-08-09 15:46:42 +02:00
LocalEntityCfg(EntityId localId, IndicationCfg indicationCfg, FaultHandlerBase& fhBase)
: localId(std::move(localId)), indicCfg(indicationCfg), fhBase(fhBase) {}
EntityId localId;
2022-08-09 14:39:03 +02:00
IndicationCfg indicCfg;
2022-08-09 15:46:42 +02:00
FaultHandlerBase& fhBase;
2022-08-09 14:39:03 +02:00
};
2022-08-09 18:51:44 +02:00
struct RemoteEntityCfg {
2023-07-17 14:54:45 +02:00
RemoteEntityCfg() = default;
2022-09-14 14:00:20 +02:00
explicit RemoteEntityCfg(EntityId id) : remoteId(std::move(id)) {}
2022-08-09 18:51:44 +02:00
EntityId remoteId;
size_t maxFileSegmentLen = 1024;
2022-08-31 13:26:44 +02:00
bool closureRequested = false;
bool crcOnTransmission = false;
2022-09-15 18:41:15 +02:00
TransmissionMode defaultTransmissionMode = TransmissionMode::UNACKNOWLEDGED;
ChecksumType defaultChecksum = ChecksumType::NULL_CHECKSUM;
2023-07-17 14:54:45 +02:00
uint8_t version = CFDP_VERSION_2;
2022-08-09 18:51:44 +02:00
};
2022-08-09 15:46:42 +02:00
} // namespace cfdp
2022-08-09 14:39:03 +02:00
#endif // FSFW_CFDP_MIB_H