| 275 | |
| 276 | |
| 277 | class Handler: |
| 278 | |
| 279 | def __init__(self, socks=None, callback=None): |
| 280 | self.ok = True |
| 281 | self.socks = socks or [] |
| 282 | if callback: |
| 283 | self.callback = callback |
| 284 | |
| 285 | def pre_select(self, r, w, x): |
| 286 | for i in self.socks: |
| 287 | _add(r, i) |
| 288 | |
| 289 | def callback(self, sock): |
| 290 | log('--no callback defined-- %r' % self) |
| 291 | (r, _, _) = select.select(self.socks, [], [], 0) |
| 292 | for s in r: |
| 293 | v = s.recv(4096) |
| 294 | if not v: |
| 295 | log('--closed-- %r' % self) |
| 296 | self.socks = [] |
| 297 | self.ok = False |
| 298 | |
| 299 | |
| 300 | class Proxy(Handler): |
no outgoing calls
no test coverage detected