def __init__(self): self.disconnected = False self._nextRequest = 1 self.pool = set() self.requests = {} self.listeners = {} self._messageLock = defer.DeferredLock() self.clearCache() self.endianness = '>' # create a generator to assemble the packets self.packetStream = packetStream(self.packetReceived, self.endianness) self.packetStream.next() # start the packet stream self.onDisconnect = util.DeferredSignal()
def __init__(self, socket, **kw): asyncore.dispatcher.__init__(self, socket, **kw) self.alive = True self.lock = threading.Condition() self.nextRequest = 1 self.requests = {} self.pool = set() self.queue = Queue.Queue() self.buffer = '' # create a generator to assemble the packets self.stream = packetStream(self.handleResponse) self.stream.next() # start the packet stream
def dataReceived(self, data): if not self.endian: self.data_buffer += data if len(data) < 20: return if ord(data[12]): self.endian = '<' else: self.endian = '>' print "Found byte order: ", self.endian self.packetStream = packetStream(self.packetReceived, endianness=self.endian) self.packetStream.next() self.packetStream.send(self.data_buffer) del self.data_buffer else: self.packetStream.send(data)