rsevents-extra 0.2.0
This release upgrades to the latest version (0.3.1) of rsevents
, and implements the newly updated and expanded rsevents::Awaitable
trait ((see the rsevents 0.3.x changelog for more info)[https://github.com/neosmart/rsevents/releases/tag/0.3.1]).
- The biggest feature of this release is a new
Semaphore
type, which is an attempt at modeling a truly safe semaphore for rust (something lacking from the standard library).Semaphore
is built on anrsevents
auto-reset event, and uses that under-the-hood to efficiently wait for aSemaphore
to become available when its concurrency limit has been reached. - The new
Semaphore
type attempts to bridge the "standard" usage of a sempahore wherein the concurrency count is manually incremented (when the semaphore is "released") with rust's concepts of ownership and RAII-friendly guard types. Please provide feedback on your usage ofSemaphore
so we can refine the API together! - The
rsevents_extra
types are nowstatic
friendly withconst fn new()
initializers so they can be declared and used as global/local static variables without requiring the usage oflazy_static
oronce_cell
.