def pop(self, identifier=None, ext_addr=None, basecls=ISOTP):
        """
        Returns a built ISOTP message
        :param identifier: if not None, only return isotp messages with this
                           destination
        :param ext_addr: if identifier is not None, only return isotp messages
                         with this extended address for destination
        :param basecls: the class of packets that will be returned, defautls to
                        ISOTP
        :return: an ISOTP packet, or None if no message is ready
        """

        if identifier is not None:
            for i in range(len(self.ready)):
                b = self.ready[i]
                identifier = b[0]
                ea = b[1]
                if identifier == identifier and ext_addr == ea:
                    return ISOTPMessageBuilder._build(self.ready.pop(i))
            return None

        if len(self.ready) > 0:
            return ISOTPMessageBuilder._build(self.ready.pop(0))
        return None
def pop ( self , identifier = None , ext_addr = None , basecls = ISOTP ) : if identifier is not None : for i in range ( len ( self . ready ) ) : b = self . ready [ i ] identifier = b [ 0 ] ea = b [ 1 ] if identifier == identifier and ext_addr == ea : return ISOTPMessageBuilder . _build ( self . ready . pop ( i ) ) return None if len ( self . ready ) > 0 : return ISOTPMessageBuilder . _build ( self . ready . pop ( 0 ) ) return None
Returns a built ISOTP message
        :param identifier: if not None, only return isotp messages with this
                           destination
        :param ext_addr: if identifier is not None, only return isotp messages
                         with this extended address for destination
        :param basecls: the class of packets that will be returned, defautls to
                        ISOTP
        :return: an ISOTP packet, or None if no message is ready