class LegacyFileTransfer: def __init__(self): self.opbuf = bytearray(82) self.opptr = 0 self.op = 0 def handle(self, buf, sock): if self.op == 2: import struct ret = self.file.readinto(memoryview(self.filebuf)[2:]) memoryview(self.filebuf)[0:2] = struct.pack(" 0: ret = sock.readinto(filebuf) if ret is None: continue if ret > 0: file.write(memoryview(filebuf)[0:ret]) size -= ret elif ret < 0: break sock.ioctl(9, 2) sock.write(b"WB\x00\x00") sock.ioctl(9, 1)