1
0
Fork 0

LLRP frame handling

This commit is contained in:
Kevin Matz 2021-09-19 12:22:07 -04:00
parent 95916aea56
commit 7c1f529833
2 changed files with 19 additions and 5 deletions

View File

@ -47,7 +47,20 @@ Manager::Manager(UUID::uuid cid)
*/
void Manager::rlpLlrpReceiver(ACN::PDU::Message<ACN::RLP::Pdu> root)
{
(void)root;
// data segment will be a block of LLRP Pdu
root->createDataBlock<LLRP::Pdu>();
auto block = std::static_pointer_cast<ACN::PDU::Block<LLRP::Pdu>>(root->data());
for(auto const &frame : *block->pdu)
{
auto data = std::static_pointer_cast<llrp_data>(frame->data());
switch (frame->vector())
{
case VECTOR_LLRP_PROBE_REPLY:
receiveProbeReply(std::static_pointer_cast<LLRP::ProbeReply::Pdu>(data->child));
break;
}
}
}
@ -61,11 +74,12 @@ void Manager::sendProbeRequest()
/**
* @brief receiveProbeReply
* @brief Manager::receiveProbeReply
* @param pdu
*/
void Manager::receiveProbeReply()
void Manager::receiveProbeReply(ACN::PDU::Message<LLRP::ProbeReply::Pdu> pdu)
{
return;
(void)pdu;
};
} // namespace RDMnet::LLRP

View File

@ -43,7 +43,7 @@ public:
void rlpLlrpReceiver(ACN::PDU::Message<ACN::RLP::Pdu>);
virtual void sendProbeRequest();
virtual void receiveProbeReply();
virtual void receiveProbeReply(ACN::PDU::Message<LLRP::ProbeReply::Pdu>);
};
} // namespace RDMnet::LLRP