F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
SdlsSaRouter.hpp
Go to the documentation of this file.
1
// ======================================================================
2
// \title SdlsSaRouter.hpp
3
// \author lestarch-autobot
4
// \brief hpp file for SdlsSaRouter component implementation class
5
// ======================================================================
6
7
#ifndef Svc_Ccsds_SdlsSaRouter_HPP
8
#define Svc_Ccsds_SdlsSaRouter_HPP
9
10
#include "
Fw/DataStructures/ArrayMap.hpp
"
11
#include "
SdlsSaRouterConfig/FppConstantsAc.hpp
"
12
#include "
SdlsSaRouterConfig/SaMapArrayAc.hpp
"
13
#include "Svc/Ccsds/SdlsSaRouter/SdlsSaRouterComponentAc.hpp"
14
15
namespace
Svc
{
16
17
namespace
Ccsds {
18
19
class
SdlsSaRouter
final :
public
SdlsSaRouterComponentBase {
20
public
:
21
// ----------------------------------------------------------------------
22
// Component construction and destruction
23
// ----------------------------------------------------------------------
24
26
SdlsSaRouter
(
const
char
*
const
compName
27
);
28
30
~SdlsSaRouter
();
31
32
private
:
33
// ----------------------------------------------------------------------
34
// Handler implementations for typed input ports
35
// ----------------------------------------------------------------------
36
40
void
dataIn_handler(
FwIndexType
portNum,
41
U16 securityAssociationIndex,
42
Fw::Buffer
& data,
43
const
ComCfg::FrameContext
& context)
override
;
44
48
void
dataReturnIn_handler(
FwIndexType
portNum,
49
Fw::Buffer
& data,
50
const
ComCfg::FrameContext
& context)
override
;
51
55
void
saBufferReturnIn_handler(
FwIndexType
portNum,
56
Fw::Buffer
& data,
57
const
ComCfg::FrameContext
& context)
override
;
58
63
void
saDataIn_handler(
FwIndexType
portNum,
64
const
Svc::Ccsds::SdlsStatus
& status,
65
Fw::Buffer
& data,
66
const
ComCfg::FrameContext
& context)
override
;
67
68
private
:
69
// ----------------------------------------------------------------------
70
// Member variables
71
// ----------------------------------------------------------------------
72
74
Fw::ArrayMap<U16, FwIndexType, SdlsCfg::SaRouterMapEntryCount>
m_saMap;
75
76
// ----------------------------------------------------------------------
77
// Constants
78
// ----------------------------------------------------------------------
79
81
static
constexpr
FwIndexType
ROUTER_ERROR_PORT = -1;
82
87
Fw::ArrayMap<U32, FwIndexType, SdlsCfg::SaRouterMaxOutstandingBuffers>
m_outstanding;
88
};
89
90
}
// namespace Ccsds
91
92
}
// namespace Svc
93
94
#endif
FppConstantsAc.hpp
Svc::Ccsds::SdlsSaRouter
Definition:
SdlsSaRouter.hpp:19
SaMapArrayAc.hpp
Svc::Ccsds::SdlsStatus
Status of an SDLS (Space Data Link Security) encryption/decryption request.
Definition:
SdlsStatusEnumAc.hpp:20
Svc::Ccsds::SdlsSaRouter::~SdlsSaRouter
~SdlsSaRouter()
Destroy SdlsSaRouter object.
Definition:
SdlsSaRouter.cpp:27
Svc::Ccsds::SdlsSaRouter::SdlsSaRouter
SdlsSaRouter(const char *const compName)
Construct SdlsSaRouter object.
Definition:
SdlsSaRouter.cpp:17
Fw::ArrayMap< U16, FwIndexType, SdlsCfg::SaRouterMapEntryCount >
FwIndexType
PlatformIndexType FwIndexType
Definition:
FwIndexTypeAliasAc.h:15
ComCfg::FrameContext
Type used to pass context info between components during framing/deframing.
Definition:
FrameContextSerializableAc.hpp:21
Svc
RateGroupDivider component implementation.
Definition:
ActiveRateGroupCfg.hpp:18
Fw::Buffer
Definition:
Buffer.hpp:53
ArrayMap.hpp
Svc
Ccsds
SdlsSaRouter
SdlsSaRouter.hpp
Generated by
1.8.14