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 <
Os/Mutex.hpp
>
11
#include "
Fw/DataStructures/ArrayMap.hpp
"
12
#include "
SdlsSaRouterConfig/FppConstantsAc.hpp
"
13
#include "
SdlsSaRouterConfig/SaMapArrayAc.hpp
"
14
#include "Svc/Ccsds/SdlsSaRouter/SdlsSaRouterComponentAc.hpp"
15
16
namespace
Svc
{
17
18
namespace
Ccsds {
19
20
class
SdlsSaRouter
final :
public
SdlsSaRouterComponentBase {
21
public
:
22
// ----------------------------------------------------------------------
23
// Component construction and destruction
24
// ----------------------------------------------------------------------
25
27
SdlsSaRouter
(
const
char
*
const
compName
28
);
29
31
~SdlsSaRouter
();
32
37
void
configure
(
const
SdlsCfg::SaMap
& saMap
38
);
39
40
private
:
41
// ----------------------------------------------------------------------
42
// Handler implementations for typed input ports
43
// ----------------------------------------------------------------------
44
48
void
dataIn_handler(
FwIndexType
portNum,
49
U16 securityAssociationIndex,
50
Fw::Buffer
& data,
51
const
ComCfg::FrameContext
& context)
override
;
52
56
void
dataReturnIn_handler(
FwIndexType
portNum,
57
Fw::Buffer
& data,
58
const
ComCfg::FrameContext
& context)
override
;
59
63
void
saBufferReturnIn_handler(
FwIndexType
portNum,
64
Fw::Buffer
& data,
65
const
ComCfg::FrameContext
& context)
override
;
66
71
void
saDataIn_handler(
FwIndexType
portNum,
72
const
Svc::Ccsds::SdlsStatus
& status,
73
Fw::Buffer
& data,
74
const
ComCfg::FrameContext
& context)
override
;
75
76
private
:
77
// ----------------------------------------------------------------------
78
// Member variables
79
// ----------------------------------------------------------------------
80
82
Fw::ArrayMap<U16, FwIndexType, SdlsCfg::SaRouterMapEntryCount>
m_saMap;
83
85
Os::Mutex
m_outstandingLock;
86
87
// ----------------------------------------------------------------------
88
// Constants
89
// ----------------------------------------------------------------------
90
92
static
constexpr
FwIndexType
ROUTER_ERROR_PORT = -1;
93
98
Fw::ArrayMap<U32, FwIndexType, SdlsCfg::SaRouterMaxOutstandingBuffers>
m_outstanding;
99
};
100
101
}
// namespace Ccsds
102
103
}
// namespace Svc
104
105
#endif
FppConstantsAc.hpp
Svc::Ccsds::SdlsSaRouter
Definition:
SdlsSaRouter.hpp:20
Os::DelegateMutex
Link-time delegating Mutex implementation.
Definition:
DelegateMutex.hpp:19
SdlsCfg::SaMap
Definition:
SaMapArrayAc.hpp:30
SaMapArrayAc.hpp
Svc::Ccsds::SdlsStatus
Status of an SDLS (Space Data Link Security) encryption/decryption request.
Definition:
SdlsStatusEnumAc.hpp:20
Svc::Ccsds::SdlsSaRouter::configure
void configure(const SdlsCfg::SaMap &saMap)
Definition:
SdlsSaRouter.cpp:25
Mutex.hpp
Svc::Ccsds::SdlsSaRouter::~SdlsSaRouter
~SdlsSaRouter()
Destroy SdlsSaRouter object.
Definition:
SdlsSaRouter.cpp:23
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:22
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