Skip to content

Commit f638c04

Browse files
committed
Reuse protocol buffer
1 parent 83e7e6b commit f638c04

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

pymongo/asynchronous/network.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,8 @@ async def receive_message_stream(
330330
# deadline = None
331331
deadline = None
332332
# Ignore the response's request id.
333-
mv = memoryview(bytearray(max_message_size))
334-
conn.conn[1].reset(mv)
333+
# data = bytearray(max_message_size)
334+
conn.conn[1].reset()
335335
length, op_code = await asyncio.wait_for(conn.conn[1].read(), timeout=None)
336336

337337
# length, _, response_to, op_code = _UNPACK_HEADER(await async_receive_data_stream(conn, 16, deadline))
@@ -362,5 +362,5 @@ async def receive_message_stream(
362362
raise ProtocolError(
363363
f"Got opcode {op_code!r} but expected {_UNPACK_REPLY.keys()!r}"
364364
) from None
365-
return unpack_reply(mv[16:length])
365+
return unpack_reply(conn.conn[1].data()[16:length])
366366

pymongo/network_layer.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
class PyMongoProtocol(asyncio.BufferedProtocol):
7878
def __init__(self):
7979
self.transport = None
80-
self._buffer = memoryview(bytearray(65536)) # 64KB default buffer for SSL handshakes
80+
self._buffer = memoryview(bytearray(MAX_MESSAGE_SIZE))
8181
self.expected_length = 0
8282
self.expecting_header = False
8383
self.bytes_read = 0
@@ -146,8 +146,8 @@ async def _drain_helper(self):
146146
self._drain_waiter = self._loop.create_future()
147147
await self._drain_waiter
148148

149-
def reset(self, buffer: memoryview):
150-
self._buffer = buffer
149+
def reset(self):
150+
# self._buffer = buffer
151151
self.bytes_read = 0
152152
self.expecting_header = True
153153
self.op_code = None

0 commit comments

Comments
 (0)