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 {
|
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;
|
2022-08-31 13:26:44 +02:00
|
|
|
size_t maxFileSegmentLen = 2048;
|
|
|
|
bool closureRequested = false;
|
|
|
|
bool crcOnTransmission = false;
|
2022-09-15 18:41:15 +02:00
|
|
|
TransmissionMode defaultTransmissionMode = TransmissionMode::UNACKNOWLEDGED;
|
|
|
|
ChecksumType defaultChecksum = ChecksumType::NULL_CHECKSUM;
|
2022-08-09 18:51:44 +02:00
|
|
|
const uint8_t version = CFDP_VERSION_2;
|
|
|
|
};
|
|
|
|
|
2022-08-09 15:46:42 +02:00
|
|
|
} // namespace cfdp
|
|
|
|
|
2022-08-09 14:39:03 +02:00
|
|
|
#endif // FSFW_CFDP_MIB_H
|