| 222 | } |
| 223 | |
| 224 | void Socket::close() { |
| 225 | if (valid_socket(socket_file_descriptor_)) { |
| 226 | logging::LOG_DEBUG(logger_) << "Closing " << socket_file_descriptor_; |
| 227 | #ifdef WIN32 |
| 228 | closesocket(socket_file_descriptor_); |
| 229 | #else |
| 230 | ::close(socket_file_descriptor_); |
| 231 | #endif |
| 232 | socket_file_descriptor_ = INVALID_SOCKET; |
| 233 | } |
| 234 | if (total_written_ > 0) { |
| 235 | local_network_interface_.log_write(gsl::narrow<uint32_t>(total_written_.load())); |
| 236 | total_written_ = 0; |
| 237 | } |
| 238 | if (total_read_ > 0) { |
| 239 | local_network_interface_.log_read(gsl::narrow<uint32_t>(total_read_.load())); |
| 240 | total_read_ = 0; |
| 241 | } |
| 242 | } |
| 243 | |
| 244 | void Socket::setNonBlocking() { |
| 245 | if (listeners_ <= 0) { |
nothing calls this directly
no test coverage detected