lease 0.5.0

Object pool that leases values and automatically returns them with async support
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Lease
This crate provides a `Pool` struct that allows taking `Lease`es and using them.
When a `Lease` is dropped it is automatically returned to the pool.

One nice thing about this api is that the lifetime of a `Lease` is not connected to the lifetime
of a `Pool` so they can be sent across threads.

There is also an `InitPool` that ensures that all new leases are created the same way

A `LockedPool` only allows calling functions that do not add or remove any `Lease`s

## Features
* `async`
  - Enables the [`Pool::get()`] function. Async brings a little bit of overhead to getting
    leases so it is behind a feature.
  - Enables the [`Pool::stream()`] function that allows getting a stream of leases as they become available