(self, wait)
| 350 | bufstate = 0 # meaning: 0 => reading count; 1 => reading data |
| 351 | |
| 352 | def pollpacket(self, wait): |
| 353 | self._stage0() |
| 354 | if len(self.buff) < self.bufneed: |
| 355 | r, w, x = select.select([self.sock.fileno()], [], [], wait) |
| 356 | if len(r) == 0: |
| 357 | return None |
| 358 | try: |
| 359 | s = self.sock.recv(BUFSIZE) |
| 360 | except OSError: |
| 361 | raise EOFError |
| 362 | if len(s) == 0: |
| 363 | raise EOFError |
| 364 | self.buff += s |
| 365 | self._stage0() |
| 366 | return self._stage1() |
| 367 | |
| 368 | def _stage0(self): |
| 369 | if self.bufstate == 0 and len(self.buff) >= 4: |