- Fix bug where the list of wakers to trigger on shutdown or shutdown completion could grow indefinitely.
- Fix
ShutdownManager::wait_shutdown_complete()
never completing if called when no shutdown was triggered yet and no delay tokens exist.
- Rename
Shutdown
struct toShutdownManager
. - Rename
ShutdownManager
methods:shutdown()
is now calledtrigger_shutdown()
shutdown_started()
is now calledis_shutdown_triggered()
.shutdown_completed()
is now calledis_shutdown_completed()
.wrap_vital()
is now calledwrap_trigger_shutdown()
.wrap_wait()
is now calledwrap_delay_shutdown()
.
- Rename
VitalToken
toTriggerShutdownToken
. - Rename
TriggerShutdownToken::wrap_vital()
towrap_future()
. - Rename
DelayShutdownToken::wrap_wait()
towrap_future()
. - All types now take a generic parameter
T: Clone
for the shutdown reason. - Add a parameter for the shutdown reason in
ShutdownManager
methodstrigger_shutdown()
,wrap_trigger_shutdown()
andtrigger_shutdown_token()
. - Add
ShutdownManager::shutdown_reason()
to retrieve the shutdown reason. - Return the shutdown reason from
ShutdownManager::wait_shutdown_triggered()
andShutdownManager::wait_shutdown_complete()
. - Add
shutdown_reason
field toShutdownAlreadyCompleted
struct. - Return a
ShutdownAlreadyStarted
error when callingtrigger_shutdown()
multiple times. - Change the output type of
WrapCancel
futures fromOption
to aResult
with the shutdown reason as error.
- Fix shutdown_complete() completing before shutdown even started.
- Fix bug where the list of wakers to trigger on shutdown or shutdown completion could grow indefinitely.
- Mark all future wrappers as
#[must_use]
.
- Update README.
- Improve TCP echo server example.
- Add an example with a tokio-based TCP echo server.
- Regenerate README.md from library documentation.
- Change
DelayShutdownToken::wrap_wait()
to consume the token. - Do not consume the
Shutdown
object inShutdown::wrap_vital()
. - Rename
wait_shutdown()
towait_shutdown_triggered()
.
- Fix
shutdown
andshutdown_complete
notification.
- Add missing
Clone
impl forShutdown
.
- Fix crate name in README.
- Initial release.