refine _get_read_size
This commit is contained in:
parent
a3315bcd6a
commit
92722c2ea9
1 changed files with 7 additions and 7 deletions
|
@ -832,15 +832,15 @@ class TCPRelayHandler(object):
|
|||
buffer_size = len(sock.recv(recv_buffer_size, socket.MSG_PEEK))
|
||||
if up:
|
||||
buffer_size = min(buffer_size, self._recv_u_max_size)
|
||||
self._recv_u_max_size = min(self._recv_u_max_size + TCP_MSS, BUF_SIZE)
|
||||
self._recv_u_max_size = min(self._recv_u_max_size + self._tcp_mss - self._overhead, BUF_SIZE)
|
||||
else:
|
||||
buffer_size = min(buffer_size, self._recv_d_max_size)
|
||||
self._recv_d_max_size = min(self._recv_d_max_size + TCP_MSS, BUF_SIZE)
|
||||
self._recv_d_max_size = min(self._recv_d_max_size + self._tcp_mss - self._overhead, BUF_SIZE)
|
||||
if buffer_size == recv_buffer_size:
|
||||
return buffer_size
|
||||
s = buffer_size % self._tcp_mss + self._overhead
|
||||
if s > self._tcp_mss:
|
||||
return buffer_size - (s - self._tcp_mss)
|
||||
frame_size = self._tcp_mss - self._overhead
|
||||
if buffer_size > frame_size:
|
||||
buffer_size = int(buffer_size / frame_size) * frame_size
|
||||
return buffer_size
|
||||
|
||||
def _on_local_read(self):
|
||||
|
@ -1074,7 +1074,7 @@ class TCPRelayHandler(object):
|
|||
handle = True
|
||||
self._on_remote_read(sock == self._remote_sock)
|
||||
else:
|
||||
self._recv_d_max_size = TCP_MSS
|
||||
self._recv_d_max_size = self._tcp_mss - self._overhead
|
||||
elif event & eventloop.POLL_OUT:
|
||||
handle = True
|
||||
self._on_remote_write()
|
||||
|
@ -1087,7 +1087,7 @@ class TCPRelayHandler(object):
|
|||
handle = True
|
||||
self._on_local_read()
|
||||
else:
|
||||
self._recv_u_max_size = TCP_MSS
|
||||
self._recv_u_max_size = self._tcp_mss - self._overhead
|
||||
elif event & eventloop.POLL_OUT:
|
||||
handle = True
|
||||
self._on_local_write()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue