pub async fn run<E, EC, ECR>(
    event_consumer_channel: EC,
    origin_id: StreamId,
    stream_id: StreamId,
    consumer_filters: Sender<Vec<FilterCriteria>>,
    envelopes: Receiver<(Envelope<E>, Sender<()>)>,
    kill_switch: Receiver<()>
)where
    E: Clone + Name + 'static,
    EC: Fn() -> ECR + Send + Sync,
    ECR: Future<Output = Result<Channel, Error>> + Send,
Expand description

Reliably stream event envelopes to a consumer. Event envelope transmission requests are sent over a channel and have a reply that is completed on the remote consumer’s acknowledgement of receipt.