| 217 | return False # fullness is determined by the socket's select() state |
| 218 | |
| 219 | def uwrite(self, buf): |
| 220 | if self.connect_to: |
| 221 | return 0 # still connecting |
| 222 | self.wsock.setblocking(False) |
| 223 | try: |
| 224 | return _nb_clean(self.wsock.send, buf) |
| 225 | except (OSError, socket.error): |
| 226 | _, e = sys.exc_info()[:2] |
| 227 | if e.errno == errno.EPIPE: |
| 228 | debug1('%r: uwrite: got EPIPE' % self) |
| 229 | self.nowrite() |
| 230 | return 0 |
| 231 | else: |
| 232 | # unexpected error... stream is dead |
| 233 | self.seterr('uwrite: %s' % e) |
| 234 | return 0 |
| 235 | |
| 236 | def write(self, buf): |
| 237 | assert buf |