pub async fn run<B, R, W, G, F, A>(
session: Session<B>,
reader: R,
writer: W,
side: Side,
feed: &Feed,
authorize: G,
) -> Result<(), B::Error>where
B: ReplicaStore,
R: MessageReader<Error = Error>,
W: MessageWriter<Error = Error> + 'static,
G: Fn(Activity) -> F + Clone + Send + Sync + 'static,
F: Future<Output = Result<A, Error>> + Send,
A: ActivityGuard,Expand description
Call after validating the opening, endpoint bindings, Thread, and facets.
authorize rechecks the live host permission, including expiry/revocation.
It runs before every admission and output, including queued output. Readers
must enforce the negotiated frame bound before allocating message bodies.