| 129 | } |
| 130 | |
| 131 | bool TorControlConnection::WaitForData(std::chrono::milliseconds timeout) |
| 132 | { |
| 133 | if (!m_sock) return false; |
| 134 | |
| 135 | Sock::Event event{0}; |
| 136 | if (!m_sock->Wait(timeout, Sock::RecvEvent, &event)) { |
| 137 | return false; |
| 138 | } |
| 139 | if (event & Sock::ErrorEvent) { |
| 140 | LogDebug(BCLog::TOR, "Socket error detected"); |
| 141 | Disconnect(); |
| 142 | return false; |
| 143 | } |
| 144 | |
| 145 | return (event & Sock::RecvEvent); |
| 146 | } |
| 147 | |
| 148 | bool TorControlConnection::ReceiveAndProcess() |
| 149 | { |