File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -88,6 +88,19 @@ static grpc_error* enable_loopback_fast_path(SOCKET sock) {
8888 : GRPC_WSA_ERROR (status, " WSAIoctl(SIO_LOOPBACK_FAST_PATH)" );
8989}
9090
91+ static grpc_error* enable_socket_low_latency (SOCKET sock) {
92+ int status;
93+ BOOL param = TRUE ;
94+ status = ::setsockopt (sock, IPPROTO_TCP, TCP_NODELAY,
95+ reinterpret_cast <char *>(¶m), sizeof (param));
96+ if (status == SOCKET_ERROR) {
97+ status = WSAGetLastError ();
98+ }
99+ return status == 0
100+ ? GRPC_ERROR_NONE
101+ : GRPC_WSA_ERROR (status, " setsockopt(TCP_NODELAY)" );
102+ }
103+
91104grpc_error* grpc_tcp_prepare_socket (SOCKET sock) {
92105 grpc_error* err;
93106 err = grpc_tcp_set_non_block (sock);
@@ -96,6 +109,8 @@ grpc_error* grpc_tcp_prepare_socket(SOCKET sock) {
96109 if (err != GRPC_ERROR_NONE) return err;
97110 err = enable_loopback_fast_path (sock);
98111 if (err != GRPC_ERROR_NONE) return err;
112+ err = enable_socket_low_latency (sock);
113+ if (err != GRPC_ERROR_NONE) return err;
99114 return GRPC_ERROR_NONE;
100115}
101116
You can’t perform that action at this time.
0 commit comments