| 352 | super(ReceiveHandler, self).__init__(*args, **kwargs) |
| 353 | |
| 354 | def read_line(self): |
| 355 | while True: |
| 356 | if self.buffer_small: |
| 357 | pos = self.buffer_small.find(b'\n') |
| 358 | if pos != -1: |
| 359 | ret = b''.join(self.buffer_large) + self.buffer_small[:pos] |
| 360 | self.buffer_small = self.buffer_small[pos+1:] |
| 361 | self.buffer_large = [] |
| 362 | return ret |
| 363 | else: |
| 364 | self.buffer_large.append(self.buffer_small) |
| 365 | self.buffer_small = self.request.recv(4096) |
| 366 | if not self.buffer_small: |
| 367 | raise IOError("reached socket EOF before finding newline") |
| 368 | |
| 369 | def get_next_message(self) -> object: |
| 370 | ''' |