Skip to content

Commit 02cf3c1

Browse files
committed
Store opcode in future for read
1 parent 01af881 commit 02cf3c1

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

pymongo/network_layer.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ async def read(
544544
if read_waiter in self._done_messages:
545545
self._done_messages.remove(read_waiter)
546546
if message:
547-
start, end = message[0], message[1]
547+
start, end, op_code = message[0], message[1], message[2]
548548
header_size = 16
549549
if self._body_length > self._buffer_size and self._overflow is not None:
550550
if self._is_compressed and self._compressor_id is not None:
@@ -555,21 +555,21 @@ async def read(
555555
+ bytearray(self._overflow[: self._overflow_length])
556556
),
557557
self._compressor_id,
558-
), self._op_code
558+
), op_code
559559
else:
560560
return memoryview(
561561
bytearray(self._buffer[header_size : self._length])
562562
+ bytearray(self._overflow[: self._overflow_length])
563-
), self._op_code
563+
), op_code
564564
else:
565565
if self._is_compressed and self._compressor_id is not None:
566566
header_size = 25
567567
return decompress(
568568
memoryview(self._buffer[start + header_size : end]),
569569
self._compressor_id,
570-
), self._op_code
570+
), op_code
571571
else:
572-
return memoryview(self._buffer[start + header_size : end]), self._op_code
572+
return memoryview(self._buffer[start + header_size : end]), op_code
573573
raise OSError("connection closed")
574574

575575
def get_buffer(self, sizehint: int) -> memoryview:
@@ -604,7 +604,7 @@ def buffer_updated(self, nbytes: int) -> None:
604604
done = self._pending_messages.popleft()
605605
else:
606606
done = asyncio.get_running_loop().create_future()
607-
done.set_result((self._start, self._body_length))
607+
done.set_result((self._start, self._body_length, self._op_code))
608608
self._start = 0
609609
self._done_messages.append(done)
610610
if self._length > self._body_length:

0 commit comments

Comments
 (0)