MCPcopy Create free account
hub / github.com/apenwarr/sshuttle / handle

Method handle

ssnet.py:430–447  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

428 self.inbuf += b
429
430 def handle(self):
431 self.fill()
432 #log('inbuf is: (%d,%d) %r\n'
433 # % (self.want, len(self.inbuf), self.inbuf))
434 while 1:
435 if len(self.inbuf) >= (self.want or HDR_LEN):
436 (s1,s2,channel,cmd,datalen) = \
437 struct.unpack('!ccHHH', self.inbuf[:HDR_LEN])
438 assert(s1 == 'S')
439 assert(s2 == 'S')
440 self.want = datalen + HDR_LEN
441 if self.want and len(self.inbuf) >= self.want:
442 data = self.inbuf[HDR_LEN:self.want]
443 self.inbuf = self.inbuf[self.want:]
444 self.want = 0
445 self.got_packet(channel, cmd, data)
446 else:
447 break
448
449 def pre_select(self, r, w, x):
450 _add(r, self.rsock)

Callers 1

callbackMethod · 0.95

Calls 2

fillMethod · 0.95
got_packetMethod · 0.95

Tested by

no test coverage detected