This module provides an abstraction for two communicating endpoints: a synchronous Sender sends data to an async Receiver. When the Sender is instructed to send even though the Receiver has not yet accepted the previously sent item, that item is simply overwritten and lost forever. The Sender can further indicate that it will not send any more data in the future (this maps to the Producer implementation of the Receiver emitting a Final item).