| 24 | } |
| 25 | |
| 26 | CSocketImpl::~CSocketImpl() { |
| 27 | // remove from iocp |
| 28 | base::LOG_DEBUG("close a socket, socket : %d, TheadId : %lld", _sock, std::this_thread::get_id()); |
| 29 | if (_read_event && _read_event->_data) { |
| 30 | EventOverlapped* temp = (EventOverlapped*)_read_event->_data; |
| 31 | _pool->PoolDelete<EventOverlapped>(temp); |
| 32 | _read_event->_data = nullptr; |
| 33 | } |
| 34 | if (_write_event && _write_event->_data) { |
| 35 | EventOverlapped* temp = (EventOverlapped*)_write_event->_data; |
| 36 | _pool->PoolDelete<EventOverlapped>(temp); |
| 37 | _write_event->_data = nullptr; |
| 38 | } |
| 39 | } |
| 40 | |
| 41 | void CSocketImpl::SyncRead() { |
| 42 | if (!_read_event->_client_socket) { |
nothing calls this directly
no outgoing calls
no test coverage detected