diff --git a/core-writer/include/UdpReceiver.hpp b/core-writer/include/UdpReceiver.hpp index d5c6cf8..b077184 100644 --- a/core-writer/include/UdpReceiver.hpp +++ b/core-writer/include/UdpReceiver.hpp @@ -6,7 +6,7 @@ class UdpReceiver { - int socket_fd_ = -1; + int socket_fd_; public: UdpReceiver(); diff --git a/core-writer/src/receiver/UdpReceiver.cpp b/core-writer/src/receiver/UdpReceiver.cpp index 1d80e96..a1c10f7 100644 --- a/core-writer/src/receiver/UdpReceiver.cpp +++ b/core-writer/src/receiver/UdpReceiver.cpp @@ -5,6 +5,16 @@ using namespace std; +UdpReceiver::UdpReceiver() : + socket_fd_(-1) +{ +} + +UdpReceiver::~UdpReceiver() +{ + close(); +} + void UdpReceiver::bind(const uint16_t port, const size_t usec_timeout) { if (socket_fd_ > -1) { @@ -56,4 +66,10 @@ bool UdpReceiver::receive(void* buffer, size_t buffer_n_bytes) } return true; +} + +void UdpReceiver::close() +{ + ::close(socket_fd_); + socket_fd_ = -1; } \ No newline at end of file