8000 fallback: _fb_read: do a big read, when we need a big read · nresare/msgpack-python@b334d44 · GitHub
[go: up one dir, main page]

Skip to content

Commit b334d44

Browse files
committed
fallback: _fb_read: do a big read, when we need a big read
1 parent 952eb9f commit b334d44

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

msgpack/fallback.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,16 +263,19 @@ def _fb_read(self, n, write_bytes=None):
263263
# The remaining cases.
264264
ret = b''
265265
while len(ret) != n:
266+
sliced = n - len(ret)
266267
if self._fb_buf_i == len(buffs):
267268
if self._fb_feeding:
268269
break
269-
tmp = self.file_like.read(self._read_size)
270+
to_read = sliced
271+
if self._read_size > to_read:
272+
to_read = self._read_size
273+
tmp = self.file_like.read(to_read)
270274
if not tmp:
271275
break
272276
buffs.append(tmp)
273277
self._fb_buf_n += len(tmp)
274278
continue
275-
sliced = n - len(ret)
276279
ret += buffs[self._fb_buf_i][self._fb_buf_o:self._fb_buf_o + sliced]
277280
self._fb_buf_o += sliced
278281
if self._fb_buf_o >= len(buffs[self._fb_buf_i]):

0 commit comments

Comments
 (0)
0