Enum TransportCommand
pub enum TransportCommand {
Primary(CollabRequest),
ToRoute(RouteSpec, CollabRequest),
Join(RouteSpec),
ConfirmPrimaryRoute,
InstallDocumentEncryption {
route: RouteSpec,
group: Box<ChannelGroup>,
reply: SyncSender<Result<(), String>>,
},
PublishActionDirectory {
app_id: String,
},
}Expand description
Everything the manager asks of its transport.
Variants§
Primary(CollabRequest)
A request on the primary route. A CollabRequest::Hello announces
(or re-announces) that route; its acknowledgement surfaces through
CollabTransport::take_primary_route_result.
ToRoute(RouteSpec, CollabRequest)
A request on an explicitly named additional route, joined lazily and
retained. Never a Hello.
Join(RouteSpec)
Join and subscribe to an additional route without publishing traffic. Repeated joins of one route are idempotent.
ConfirmPrimaryRoute
Report the remote end’s decision about the latest primary Hello,
ordered behind every command submitted before it.
InstallDocumentEncryption
Install an already-provisioned MLS endpoint for route. From then on
the route is fail-closed: outbound document mutations are encrypted
and inbound encrypted envelopes are decrypted at this endpoint.
Exactly one result must be sent on reply.
PublishActionDirectory
Register this application’s pull action directory on the primary
route. Queries arrive through
CollabTransport::take_action_directory_requests.
Auto Trait Implementations§
impl Freeze for TransportCommand
impl !RefUnwindSafe for TransportCommand
impl Send for TransportCommand
impl Sync for TransportCommand
impl Unpin for TransportCommand
impl UnsafeUnpin for TransportCommand
impl !UnwindSafe for TransportCommand
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more