def __init__(self, name, bits, logger, sriCompare, newSriCallback, sriChangeCallback, maxsize): self.name = name self._portLog = logger self.queue = collections.deque() self._maxSize = maxsize self._breakBlock = False self.stats = InStats(name, bits=bits) self.blocking = False self.sri_cmp = sriCompare self.newSriCallback = newSriCallback self.sriChangeCallback = sriChangeCallback self.sriDict = {} # key=streamID, value=StreamSRI self._dataBufferLock = threading.Lock() self._dataAvailable = threading.Condition(self._dataBufferLock) self._queueAvailable = threading.Condition(self._dataBufferLock) # Backwards-compatibility self.port_lock = self._dataBufferLock # Synchronizes access to the SRIs self._sriUpdateLock = threading.Lock() # Streams that are currently active (map of streamID to stream objects) self._streams = {} self._streamsMutex = threading.Lock() # Streams that have the same stream ID as an active stream, when an # end-of-stream has been queued but not yet read (each entry in the map # is a list of stream objects) self._pendingStreams = {} if self._portLog is None: self._portLog = logging.getLogger("redhawk.bulkio.input." + name) _cmpMsg = "DEFAULT" _newSriMsg = "EMPTY" _sriChangeMsg = "EMPTY" if sriCompare != bulkio.sri.compare: _cmpMsg = "USER_DEFINED" if newSriCallback: _newSriMsg = "USER_DEFINED" if sriChangeCallback: _sriChangeMsg = "USER_DEFINED" if self._portLog: self._portLog.debug( "bulkio::InPort CTOR port:" + str(name) + " Blocking/MaxInputQueueSize " + str(self.blocking) + "/" + str(maxsize) + " SriCompare/NewSriCallback/SriChangeCallback " + _cmpMsg + "/" + _newSriMsg + "/" + _sriChangeMsg)
def __init__(self, name, logger=None, sriCompare=sri.compare, newSriCallback=None, sriChangeCallback=None, maxsize=100, PortTransferType=_TYPE_): self.name = name self.logger = logger self.queue = collections.deque() self._maxSize = maxsize self.port_lock = threading.Lock() self._not_full = threading.Condition(self.port_lock) self._not_empty = threading.Condition(self.port_lock) self._breakBlock = False self.stats = InStats(name, PortTransferType) self.blocking = False self.sri_cmp = sriCompare self.newSriCallback = newSriCallback self.sriChangeCallback = sriChangeCallback self.sriDict = {} # key=streamID, value=StreamSRI if logger == None: self.logger = logging.getLogger("redhawk.bulkio.input." + name) _cmpMsg = "DEFAULT" _newSriMsg = "EMPTY" _sriChangeMsg = "EMPTY" if sriCompare != sri.compare: _cmpMsg = "USER_DEFINED" if newSriCallback: _newSriMsg = "USER_DEFINED" if sriChangeCallback: _sriChangeMsg = "USER_DEFINED" if self.logger: self.logger.debug("bulkio::InPort CTOR port:" + str(name) + " Blocking/MaxInputQueueSize " + str(self.blocking) + "/" + str(maxsize) + " SriCompare/NewSriCallback/SriChangeCallback " + _cmpMsg + "/" + _newSriMsg + "/" + _sriChangeMsg)
def __init__(self, name, logger=None, attachDetachCallback=None, sriCmp=sri.compare, timeCmp=timestamp.compare, PortType=_TYPE_, newSriCallback=None, sriChangeCallback=None, interface=None): self.name = name self.logger = logger self.port_lock = threading.Lock() self.sri_query_lock = threading.Lock() self._attachedStreams = { } # key=attach_id, value = (streamDef, userid) self.stats = InStats(name, PortType) self.sriDict = {} # key=streamID, value=(StreamSRI, PrecisionUTCTime) self.attachDetachCallback = attachDetachCallback self.newSriCallback = newSriCallback self.sriChangeCallback = sriChangeCallback self.sri_cmp = sriCmp self.time_cmp = timeCmp self.sriChanged = False if not interface: if self.logger: self.logger.error( "InAttachablePort __init__ - an interface must be specified, set to BULKIO.dataSDDS or BULKIO.dataVITA49" ) raise Port.InvalidPort( 1, "InAttachablePort __init__ - an interface must be specified, set to BULKIO.dataSDDS or BULKIO.dataVITA49" ) self.interface = interface # BULKIO port interface (valid options are BULKIO.dataSDDS or BULKIO.dataVITA49) self.setNewAttachDetachListener(attachDetachCallback) if self.logger: self.logger.debug("bulkio::InAttachablePort CTOR port:" + str(self.name) + " using interface " + str(self.interface))