netipmid: move raw sockets to boost::asio sockets
Replacing the raw socket code with boost::asio sockets once again
provides a simple API with fewer lines of code.
Change-Id: Ibdd4b5ecbead947128200f17025c351d9b3ec859
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/sd_event_loop.hpp b/sd_event_loop.hpp
index 5218b27..c81218a 100644
--- a/sd_event_loop.hpp
+++ b/sd_event_loop.hpp
@@ -139,6 +139,12 @@
sd_event* event = nullptr;
private:
+ /** @brief async handler for incoming udp packets */
+ void handleRmcpPacket();
+
+ /** @brief register the async handler for incoming udp packets */
+ void startRmcpReceive();
+
/** @brief Event source object for host console. */
EventSource hostConsole = nullptr;
@@ -146,10 +152,9 @@
*/
std::shared_ptr<boost::asio::io_context> io;
- /** @brief Event source for the UDP socket listening on IPMI standard
- * port.
+ /** @brief boost::asio udp socket
*/
- EventSource udpIPMI = nullptr;
+ std::shared_ptr<boost::asio::ip::udp::socket> udpSocket = nullptr;
/** @brief Map to keep information regarding IPMI payload instance and
* timers for character accumulate interval and retry interval.