|
24 | 24 | #include <cstring> |
25 | 25 | #include <sstream> |
26 | 26 | #include <thread> |
| 27 | +#include "ur_client_library/comm/socket_t.h" |
27 | 28 |
|
28 | 29 | #ifndef _WIN32 |
29 | 30 | # include <arpa/inet.h> |
@@ -52,22 +53,23 @@ TCPSocket::~TCPSocket() |
52 | 53 |
|
53 | 54 | void TCPSocket::setupOptions() |
54 | 55 | { |
55 | | - int flag = 1; |
56 | | - ur_setsockopt(socket_fd_, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof(int)); |
| 56 | + constexpr int flag = 1; |
| 57 | + setSocketOptionAndWarnOnError(socket_fd_, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof(flag), "TCP_NODELAY"); |
57 | 58 |
|
58 | 59 | // macOS does not have TCP_QUICKACK |
59 | 60 | #ifdef TCP_QUICKACK |
60 | | - ur_setsockopt(socket_fd_, IPPROTO_TCP, TCP_QUICKACK, &flag, sizeof(int)); |
| 61 | + setSocketOptionAndWarnOnError(socket_fd_, IPPROTO_TCP, TCP_QUICKACK, &flag, sizeof(flag), "TCP_QUICKACK"); |
61 | 62 | #endif |
62 | 63 |
|
63 | 64 | if (recv_timeout_ != nullptr) |
64 | 65 | { |
65 | 66 | #ifdef _WIN32 |
66 | 67 | DWORD value = recv_timeout_->tv_sec * 1000; |
67 | 68 | value += recv_timeout_->tv_usec / 1000; |
68 | | - ur_setsockopt(socket_fd_, SOL_SOCKET, SO_RCVTIMEO, &value, sizeof(value)); |
| 69 | + setSocketOptionAndWarnOnError(socket_fd_, SOL_SOCKET, SO_RCVTIMEO, &value, sizeof(value), "SO_RCVTIMEO"); |
69 | 70 | #else |
70 | | - ur_setsockopt(socket_fd_, SOL_SOCKET, SO_RCVTIMEO, recv_timeout_.get(), sizeof(timeval)); |
| 71 | + setSocketOptionAndWarnOnError(socket_fd_, SOL_SOCKET, SO_RCVTIMEO, recv_timeout_.get(), sizeof(timeval), |
| 72 | + "SO_RCVTIMEO"); |
71 | 73 | #endif |
72 | 74 | } |
73 | 75 | } |
|
0 commit comments