From 68f76e5356923c1f8aeffd24e55bab0f4a6ad54c Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Mon, 20 Apr 2020 17:24:53 +0200 Subject: [PATCH] more like UdpRxSocket --- slsSupportLib/include/DataSocket.h | 5 +++-- slsSupportLib/src/DataSocket.cpp | 20 ++++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/slsSupportLib/include/DataSocket.h b/slsSupportLib/include/DataSocket.h index deaba27d8..470a72a13 100755 --- a/slsSupportLib/include/DataSocket.h +++ b/slsSupportLib/include/DataSocket.h @@ -21,7 +21,7 @@ class DataSocket { //No copy since the class manage the underlying socket DataSocket(const DataSocket &) = delete; DataSocket &operator=(DataSocket const &) = delete; - int getSocketId() const { return socketId_; } + int getSocketId() const { return sockfd_; } int Send(const void *buffer, size_t size); @@ -51,9 +51,10 @@ class DataSocket { int setReceiveTimeout(int us); void close(); void shutDownSocket(); + void shutdown(); private: - int socketId_ = -1; + int sockfd_ = -1; }; }; // namespace sls diff --git a/slsSupportLib/src/DataSocket.cpp b/slsSupportLib/src/DataSocket.cpp index abef23141..48af8a9a6 100755 --- a/slsSupportLib/src/DataSocket.cpp +++ b/slsSupportLib/src/DataSocket.cpp @@ -15,13 +15,13 @@ namespace sls { -DataSocket::DataSocket(int socketId) : socketId_(socketId) { +DataSocket::DataSocket(int socketId) : sockfd_(socketId) { int value = 1; - setsockopt(socketId_, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value)); + setsockopt(sockfd_, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value)); } DataSocket::~DataSocket() { - if (socketId_ <= 0) { + if (sockfd_ <= 0) { return; } else { try { @@ -32,7 +32,7 @@ DataSocket::~DataSocket() { } void DataSocket::swap(DataSocket &other) noexcept { - std::swap(socketId_, other.socketId_); + std::swap(sockfd_, other.sockfd_); } DataSocket::DataSocket(DataSocket &&move) noexcept { move.swap(*this); } @@ -121,19 +121,23 @@ int DataSocket::setTimeOut(int t_seconds) { } void DataSocket::close() { - if (socketId_ > 0) { - if (::close(socketId_)) { + if (sockfd_ > 0) { + if (::close(sockfd_)) { throw SocketError("could not close socket"); } - socketId_ = -1; + sockfd_ = -1; } else { throw std::runtime_error("Socket ERROR: close called on bad socket\n"); } } void DataSocket::shutDownSocket() { - shutdown(getSocketId(), SHUT_RDWR); + ::shutdown(getSocketId(), SHUT_RDWR); close(); } +void DataSocket::shutdown(){ + ::shutdown(sockfd_, SHUT_RDWR); +} + } // namespace sls