summaryrefslogtreecommitdiff
path: root/src/mongo/transport/session_asio.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/transport/session_asio.h')
-rw-r--r--src/mongo/transport/session_asio.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/mongo/transport/session_asio.h b/src/mongo/transport/session_asio.h
index 263f76439e4..fa15a00710c 100644
--- a/src/mongo/transport/session_asio.h
+++ b/src/mongo/transport/session_asio.h
@@ -167,12 +167,16 @@ public:
return sourceMessageImpl(baton);
}
- Future<void> waitForData() override {
-#ifdef MONGO_CONFIG_SSL
- if (_sslSocket)
- return asio::async_read(*_sslSocket, asio::null_buffers(), UseFuture{}).ignoreValue();
-#endif
- return asio::async_read(_socket, asio::null_buffers(), UseFuture{}).ignoreValue();
+ Status waitForData() override {
+ ensureSync();
+ asio::error_code ec;
+ getSocket().wait(asio::ip::tcp::socket::wait_read, ec);
+ return errorCodeToStatus(ec);
+ }
+
+ Future<void> asyncWaitForData() override {
+ ensureAsync();
+ return getSocket().async_wait(asio::ip::tcp::socket::wait_read, UseFuture{});
}
Status sinkMessage(Message message) override {