pub struct InFlightClaim(/* private fields */);Expand description
One accepted-not-completed unit on the context-global in-flight counter.
Attaching a claim increments the counter; dropping it decrements the
counter exactly once (RAII), covering every release path — normal
pipeline completion, dispatch push failure, queued-envelope drop,
pipeline task abort, panic, and readiness failure — with no manual
rollback code. Fanout sites mint one sibling claim per subscriber copy
via InFlightClaim::split, so each copy counts and releases
independently (drainclaim). The type is deliberately NOT Clone:
duplicating a claim would double-release on drop; fanout copies mint
siblings via InFlightClaim::split instead.
Claim lifecycle during a pipeline run (claimfamily): the pipeline drain site holds the envelope’s claim in task scope AND splits a sibling onto the exchange, so residency inside pipeline-embedded stash sites (resequencer buffer, aggregator bucket) stays counted after the pipeline task itself completes. Out-of-band stash emissions escape with their carried claims; the in-band pipeline result has its sibling taken back before the reply, so release stays at task end for exchanges that complete inside the pipeline.