コード例 #1
0
 def handleTcpResponse(self):
     if self.tcpReadState == self.STATE_TCP_READ_LEN:
         if len(self.tcpData) >= 4:
             self.tcpResponseLen, self.tcpData = Protocol.extractInt(
                 self.tcpData)
             self.tcpReadState = self.STATE_TCP_READ_DATA
             self.handleTcpResponse()
     elif self.tcpReadState == self.STATE_TCP_READ_DATA:
         if len(self.tcpData) >= self.tcpResponseLen:
             # tcpResponseLen should be >= 4
             if self.tcpResponseLen < 4:
                 logdebug().error(
                     'Cannot handle TLV payload of less than 4 bytes')
                 self.tcpData = self.tcpData[self.tcpResponseLen:]
                 self.tcpResponseLen = 0
                 self.tcpReadState = self.STATE_TCP_READ_LEN
                 self.handleTcpResponse()
             else:
                 data = self.tcpData[:self.tcpResponseLen]
                 self.tcpData = self.tcpData[self.tcpResponseLen:]
                 seq = Protocol.unpackInt(data[0:4])
                 self.tcpResponseLen = 0
                 self.tcpReadState = self.STATE_TCP_READ_LEN
                 self.dispatch(seq, data[4:])
                 self.handleTcpResponse()
コード例 #2
0
ファイル: controller.py プロジェクト: pond3r/pyqtggpo
 def handleTcpResponse(self):
     if self.tcpReadState == self.STATE_TCP_READ_LEN:
         if len(self.tcpData) >= 4:
             self.tcpResponseLen, self.tcpData = Protocol.extractInt(self.tcpData)
             self.tcpReadState = self.STATE_TCP_READ_DATA
             self.handleTcpResponse()
     elif self.tcpReadState == self.STATE_TCP_READ_DATA:
         if len(self.tcpData) >= self.tcpResponseLen:
             # tcpResponseLen should be >= 4
             if self.tcpResponseLen < 4:
                 logdebug().error('Cannot handle TLV payload of less than 4 bytes')
                 self.tcpData = self.tcpData[self.tcpResponseLen:]
                 self.tcpResponseLen = 0
                 self.tcpReadState = self.STATE_TCP_READ_LEN
                 self.handleTcpResponse()
             else:
                 data = self.tcpData[:self.tcpResponseLen]
                 self.tcpData = self.tcpData[self.tcpResponseLen:]
                 seq = Protocol.unpackInt(data[0:4])
                 self.tcpResponseLen = 0
                 self.tcpReadState = self.STATE_TCP_READ_LEN
                 self.dispatch(seq, data[4:])
                 self.handleTcpResponse()