INNER CODE UNIT · Python
add_item
bkbilly/lnxlink · lnxlink/__main__.py:55
def add_item(self, name, value, retain=True, force_publish=False, **kwargs):
"""Add an item, replacing its named predecessor unless coalescing is off."""
coalesce = kwargs.get("coalesce", True)
with self._condition:
key = name
if not coalesce:
self._sequence += 1
key = (name, self._sequence)
if key in self.queue:
del self.queue[key]
elif len(self.queue) >= self.max_size:
self.queue.popitem(last=False)
self.queue[key] = (name, value, retain, force_publish)
self._condition.notify()
def get_item(self, timeout=None):
"""Retrieves and removes the next item from the queue (FIFO)"""
with self._condition: