nanover.utilities.queues module

class nanover.utilities.queues.FrameMergingQueue

Bases: LastItemQueue[FrameData]

SingleItemQueue specifically for FrameData items. Put frames will be aggregated with any existing frame so that there is at most one frame in the queue at any time.

close()
put(item: FrameData | None, **kwargs)

Store a value, replace the previous one if any.

This method is thread-safe and is meant to be a drop in replacement to Queue.put().

Parameters:
  • item – The value to store.

  • kwargs – Unused arguments for compatibility with Queue.put().

class nanover.utilities.queues.LastItemQueue

Bases: Generic

Mimics the basic interface of a Queue but only stores one item.

get(block=True, timeout=None) T | None

Get the stored value, and remove it from storage.

If there is no value to get, then the method raises an Empty exception.

This method is thread-safe and is meant to be a drop in replacement to Queue.get().

Parameters:
  • block – Whether to wait until a value is available.

  • timeout – Timeout for waiting until a value is available.

Returns:

The stored value.

put(item: T, **kwargs)

Store a value, replace the previous one if any.

This method is thread-safe and is meant to be a drop in replacement to Queue.put().

Parameters:
  • item – The value to store.

  • kwargs – Unused arguments for compatibility with Queue.put().