Skip to content

0.7.0

Choose a tag to compare

@x42005e1f x42005e1f released this 23 Dec 14:45
· 124 commits to main since this release
a178a01

Added

  • culsans.QueueEmpty, culsans.QueueFull, and culsans.QueueShutDown as exceptions compatible with any interface (they inherit both types). They are now also raised instead of specialized exceptions, allowing any type to be used in try-catch.
  • The remaining non-blocking methods and both types of blocking methods to culsans.Queue via prefixes (sync_ and async_). The main reason for this is to move the entire implementation from the proxy classes to the queue classes. However, they can also be used as a simpler, shorter style of working with queues (similar to aiologic, but with sync_ instead of green_).
  • culsans.Queue.putting and culsans.Queue.getting as aiologic-like properties. They can be used to obtain the number of waiting ones for a given operation type. But note, culsans.Queue.getting also includes the number of peekers.
  • culsans.Queue now inherits from culsans.BaseQueue instead of Generic. This improves type safety and allows introspection at runtime.
  • Direct access (without the _ prefix) to the synchronization primitives used, to better mimic the queue module.