1
0
Fork 0

platform implementation for sending PDU::Stream RLP datagrams

This commit is contained in:
Kevin Matz 2021-09-01 12:13:59 -04:00
parent 044c95b168
commit c811469c95
2 changed files with 24 additions and 2 deletions

View File

@ -78,3 +78,20 @@ void QSacnNode::udpReceive()
}
void QSacnNode::rlpSend(const ACN::PDU::Stream stream,
const ACN::SDT::UDP::ipAddress& ip)
{
QHostAddress addr;
switch (ip.type) {
case ACN::SDT::SDT_ADDR_IPV4:
addr = QHostAddress(ip.address.ipv4.value);
break;
case ACN::SDT::SDT_ADDR_IPV6:
return;
default:
return;
}
writeDatagram(reinterpret_cast<char*>(stream->base()), stream->size(),
addr, ip.port);
}

View File

@ -22,9 +22,14 @@ public:
explicit QSacnNode(QObject *parent = nullptr, QUuid = QUuid::createUuid());
QSacnUniverse * universe(const uint16_t u) {return universes_.value(u); }
// rlp component
void rlpSend(const ACN::PDU::Stream, const ACN::SDT::UDP::ipAddress&) override;
// reciever
virtual void subscribe(const uint16_t universe = 1);
virtual void unsubscribe(const uint16_t);
void subscribe(const uint16_t universe = 1) override;
void unsubscribe(const uint16_t) override;
signals:
void foundUniverse(