LivoxProto1: ExecuteHandshake uses udpCommandDemuxer

UdpCommandDemuxer also now supports devices "under construction".
This commit is contained in:
2025-10-22 22:13:38 -04:00
parent 01ad1ff073
commit a4d99e5d4d
4 changed files with 231 additions and 170 deletions
+9 -2
View File
@@ -27,7 +27,7 @@ public:
UdpCommandDemuxer(
const std::shared_ptr<smo::ComponentThread>& componentThread,
DeviceManager& deviceManager,
uint16_t commandPort = 65000);
uint16_t commandPort = 56001);
~UdpCommandDemuxer();
@@ -35,6 +35,13 @@ public:
void stop();
bool isRunning() const { return isActive.load(); }
// Get shared pointer to command endpoint for handshake use
std::shared_ptr<boost::asio::posix::stream_descriptor>
getCmdEndpointFdDesc() const
{
return cmdEndpointFdDesc;
}
private:
void setupSocket();
void startAsyncReceive();
@@ -47,7 +54,7 @@ private:
uint16_t commandPort;
// Socket and async objects
std::unique_ptr<boost::asio::posix::stream_descriptor> socketDesc;
std::shared_ptr<boost::asio::posix::stream_descriptor> cmdEndpointFdDesc;
boost::asio::deadline_timer timer;
// State management