(self, size)
| 250 | return msg |
| 251 | |
| 252 | def _read(self, size): |
| 253 | while True: |
| 254 | buffer_len = len(self._buffer) |
| 255 | if buffer_len == size: |
| 256 | ret = self._buffer |
| 257 | self._buffer = b"" |
| 258 | return ret |
| 259 | |
| 260 | if buffer_len > size: |
| 261 | ret = self._buffer[:size] |
| 262 | self._buffer = self._buffer[size:] |
| 263 | return ret |
| 264 | |
| 265 | r = self.sock.recv(max(size - buffer_len, 1024)) |
| 266 | if not r: |
| 267 | return b"" |
| 268 | self._buffer += r |
| 269 | |
| 270 | def _read_line(self): |
| 271 | while True: |