Skip to content

Commit 3a2a861

Browse files
committed
[Support] Fix the Read/Write of socket stream
This PR fixes the `dmlc::Stream::Read/Write` for TCP socket. Given socket does not guarantee that all data are send received/sent in a single shot, we need to use `RecvAll/SendAll`.
1 parent e1da465 commit 3a2a861

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/support/socket.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -553,9 +553,9 @@ class TCPSocket : public Socket, public dmlc::Stream {
553553
return data;
554554
}
555555

556-
size_t Read(void* data, size_t size) final { return Recv(data, size); }
556+
size_t Read(void* data, size_t size) final { return RecvAll(data, size); }
557557

558-
size_t Write(const void* data, size_t size) final { return Send(data, size); }
558+
size_t Write(const void* data, size_t size) final { return SendAll(data, size); }
559559
};
560560

561561
/*! \brief helper data structure to perform poll */

0 commit comments

Comments
 (0)