Skip to content

0.7.0

Choose a tag to compare

@x42005e1f x42005e1f released this 19 Oct 13:46
· 607 commits to main since this release
019881a

Added

  • aiologic.Barrier as a cyclic barrier, i.e. a barrier that tasks can pass through repeatedly (thread-aware alternative to asyncio.Barrier).
  • aiologic.SimpleQueue as a simplified queue without maxsize support.
  • aiologic.PriorityQueue as a priority queue, i.e. a queue that returns its smallest element (using the heapq module).

Changed

  • Once again the queues have been significantly changed. aiologic.Queue and its derivatives now use a unique architecture that guarantees exclusive access to inherited methods without increasing the number of context switches: implicit lock and wait queue are combined. Overridable methods are now part of the public API, and fairness now covers all accesses. The properties returning the length of waiting queues have also been changed: a common waiting property returning the number of all waiting ones has been added, and put_waiting and get_waiting have been renamed to putting and getting.