26 this->m_saMap.
clear();
29 this->m_saMap.
insert(saMap[i].get_securityAssociationIndex(), saMap[i].get_portIndex());
38 void SdlsSaRouter ::dataIn_handler(
FwIndexType portNum,
39 U16 securityAssociationIndex,
43 const Fw::Success found = this->m_saMap.
find(securityAssociationIndex, outputPort);
46 if ((outputPort >= 0) && (outputPort < this->getNum_saDataOut_OutputPorts()) &&
47 (this->isConnected_saDataOut_OutputPort(outputPort))) {
48 this->saDataOut_out(outputPort, securityAssociationIndex, data, context);
55 this->m_outstandingLock.
lock();
58 this->m_outstandingLock.
unlock();
61 this->log_WARNING_HI_TrackingTableFull();
62 this->bufferReturnOut_out(0, data, context);
65 this->dataOut_out(0, errorStatus, data, context);
70 this->m_outstandingLock.
lock();
75 this->m_outstandingLock.
unlock();
79 this->log_WARNING_HI_UntrackedBufferReturned();
80 this->bufferReturnOut_out(0, data, context);
81 }
else if (outputPort == ROUTER_ERROR_PORT) {
83 this->bufferReturnOut_out(0, data, context);
85 this->saDataReturnOut_out(outputPort, data, context);
89 void SdlsSaRouter ::saBufferReturnIn_handler(
FwIndexType portNum,
92 this->bufferReturnOut_out(0, data, context);
95 void SdlsSaRouter ::saDataIn_handler(
FwIndexType portNum,
99 this->m_outstandingLock.
lock();
101 this->m_outstandingLock.
unlock();
104 this->log_WARNING_HI_TrackingTableFull();
105 this->saDataReturnOut_out(portNum, data, context);
108 this->dataOut_out(0, status, data, context);
Security association index has no known mapping.
Status of an SDLS (Space Data Link Security) encryption/decryption request.
Success insert(const K &key, const V &value) override
Mapped port index is out of range or unconnected.
void configure(const SdlsCfg::SaMap &saMap)
Success remove(const K &key, V &value) override
void clear() override
Clear the map.
~SdlsSaRouter()
Destroy SdlsSaRouter object.
SdlsSaRouter(const char *const compName)
Construct SdlsSaRouter object.
void lock()
lock the mutex and assert success
Success find(const K &key, V &value) const override
PlatformIndexType FwIndexType
Type used to pass context info between components during framing/deframing.
void unlock()
alias for unLock to meet BasicLockable requirements
RateGroupDivider component implementation.