# 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