pub struct IrohPlugin {
pub identity: Identity,
pub relays: Relays,
pub display_name: String,
pub heartbeat: Duration,
pub replicate_transform: bool,
pub autostart: bool,
/* private fields */
}Expand description
The plugin. IrohPlugin::default() is an ephemeral identity on n0’s relays.
Fields§
§identity: Identity§relays: Relays§display_name: StringWhat peers see of you in Peer::name.
heartbeat: DurationHow often presence is announced; silence for three of these reaps a peer.
replicate_transform: boolReplicate Transform at 20 Hz with smoothing. Off, register your own transform codec.
autostart: boolStart the node as soon as the plugin is added. Off, the plugin only registers its
systems and nothing touches the network until StartIroh is queued: an app that
connects only when its user asks.
Implementations§
Source§impl IrohPlugin
impl IrohPlugin
pub fn with_identity(self, identity: Identity) -> Self
pub fn with_relays(self, relays: Relays) -> Self
pub fn with_display_name(self, name: impl Into<String>) -> Self
pub fn with_autostart(self, autostart: bool) -> Self
Sourcepub fn with_protocol(
self,
alpn: impl AsRef<[u8]>,
handler: impl Into<Box<dyn DynProtocolHandler>>,
) -> Self
pub fn with_protocol( self, alpn: impl AsRef<[u8]>, handler: impl Into<Box<dyn DynProtocolHandler>>, ) -> Self
Accept connections on another ALPN, on the same endpoint. How media, or anything else that is a stream rather than a message, rides along.
The handler serves the first node only: a node started again after StopIroh goes
without it. IrohPlugin::with_protocol_factory serves every one.
Sourcepub fn with_protocol_factory(
self,
alpn: impl AsRef<[u8]>,
make: impl Fn() -> Box<dyn DynProtocolHandler> + Send + Sync + 'static,
) -> Self
pub fn with_protocol_factory( self, alpn: impl AsRef<[u8]>, make: impl Fn() -> Box<dyn DynProtocolHandler> + Send + Sync + 'static, ) -> Self
IrohPlugin::with_protocol with a fresh handler for each node, so the protocol
survives stopping and starting again.
Trait Implementations§
Source§impl Default for IrohPlugin
impl Default for IrohPlugin
Source§impl Plugin for IrohPlugin
impl Plugin for IrohPlugin
Source§fn ready(&self, _app: &App) -> bool
fn ready(&self, _app: &App) -> bool
finish should be called.Source§fn finish(&self, _app: &mut App)
fn finish(&self, _app: &mut App)
App, once all plugins registered are ready. This can
be useful for plugins that depends on another plugin asynchronous setup, like the renderer.Source§fn cleanup(&self, _app: &mut App)
fn cleanup(&self, _app: &mut App)
Auto Trait Implementations§
impl !Freeze for IrohPlugin
impl RefUnwindSafe for IrohPlugin
impl Send for IrohPlugin
impl Sync for IrohPlugin
impl Unpin for IrohPlugin
impl UnsafeUnpin for IrohPlugin
impl UnwindSafe for IrohPlugin
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§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>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§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.Source§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.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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