コード例 #1
0
ファイル: tdcproxy_sender.py プロジェクト: wyleu/harvest_tdc
    def found_terminator(self):
        # print' Found a terminator'
        data = self.buffer
        self.buffer = ''

        # p = tdc.InquiryProtocol()    # Just for arguments sake
        
        if self.in_payload:
            self.in_payload = False       # kill the payload flag
            res = self.packet.process(data)

            #self.packet.setpayload(data)
            
            self.set_terminator(1)
            
            # rep = 'tdcproxy_sender:-cc:-%d bytes:-%d' % ( self.channel_counter, self.total)
         
            self.server.report('s%d' % self.id ,'  %s :- %s' % ( self.packet.protocol, self.packet.command ) )      

            # Shunt the packets to the reciever
            if self.receiver.opened:                                        # Don't send if the receivers closed down..
                self.receiver.push(self.packet.getpacket())

        else:
            #print 'Sender data:',
            if data=='\x47':                                                                  # First byte of magic byte

                self.set_terminator(tdc.size_header_data -1)   # pull in the Sorel header
                return
            elif  data[0] =='\xAA':                                                        # Second byte of magic byte
                # A possible magic
                try:
                     # print 'Making a packet'
                     self.packet =  tdc.tdcpacket('\x47' + data)
                     #print ' Made a packet'
                     #print self.packet
                except:
                    tdc.error( 'unrecognized sender Header')
                    self.set_terminator(1)
                else:
                    # print 'protocol = ',self.packet.protocol, ' ', 
                    self.in_payload = True
                    self.set_terminator(self.packet.size_payload)
            else:
                self.set_terminator(1)
コード例 #2
0
ファイル: tdcproxy_sender.py プロジェクト: wyleu/harvest_tdc
    def sendmessage(self, protocol, command,  data='' ):
        try:
            prot = protocol.getreq(command)
        except ( KeyError ):
            tdc.error('Unknown command %s for protocol %s' %( command , protocol.desc))
            return -1

        payload = command + data
        plsize = self.payloadsize(payload)

       
        msg = protocol.Magic + protocol.flags + protocol.id + protocol.extra_header_size + plsize + protocol.extra_header_data + protocol.crc + payload


        # print 'Msg:-',msg

        #  assert(False)

      #  try:
            #self.s.send(msg)

        self.push(msg)