pub enum SmartMessageSource {
Unknown,
File(PathBuf),
RrdHttpStream {
url: String,
},
RrdWebEventCallback,
JsChannelPush,
Sdk,
WsClient {
ws_server_url: String,
},
TcpClient {
addr: Option<SocketAddr>,
},
Stdin,
RerunGrpcStream {
url: String,
},
}
Expand description
Identifies who/what sent a particular message in a smart channel.
Due to the multiplexed nature of the smart channel, every message coming in can originate from a different source.
Variants§
Unknown
The source is unknown.
This is only used when we need to allocate a sender but cannot yet know what that the
source is.
This should never be used to send a message; use Sender::clone_as
to specify the source
of a Sender
after its creation.
File(PathBuf)
The sender is a background thread reading data from a file on disk.
RrdHttpStream
The sender is a background thread fetching data from an HTTP file server.
RrdWebEventCallback
The sender is a javascript callback triggered by a postMessage
event.
Only applicable to web browser iframes.
JsChannelPush
The sender is a javascript client submitting an RRD directly as bytes.
Sdk
The sender is a Rerun SDK running from another thread in the same process.
WsClient
The sender is a WebSocket client fetching data from a Rerun WebSocket server.
We are likely running in a web browser.
TcpClient
The sender is a TCP client.
Fields
addr: Option<SocketAddr>
Stdin
The data is streaming in from standard input.
RerunGrpcStream
A file on a Rerun Data Platform server, over rerun://
gRPC interface.
Trait Implementations§
source§impl Clone for SmartMessageSource
impl Clone for SmartMessageSource
source§fn clone(&self) -> SmartMessageSource
fn clone(&self) -> SmartMessageSource
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SmartMessageSource
impl Debug for SmartMessageSource
source§impl Display for SmartMessageSource
impl Display for SmartMessageSource
source§impl Hash for SmartMessageSource
impl Hash for SmartMessageSource
source§impl PartialEq for SmartMessageSource
impl PartialEq for SmartMessageSource
source§fn eq(&self, other: &SmartMessageSource) -> bool
fn eq(&self, other: &SmartMessageSource) -> bool
self
and other
values to be equal, and is used
by ==
.impl Eq for SmartMessageSource
impl StructuralPartialEq for SmartMessageSource
Auto Trait Implementations§
impl Freeze for SmartMessageSource
impl RefUnwindSafe for SmartMessageSource
impl Send for SmartMessageSource
impl Sync for SmartMessageSource
impl Unpin for SmartMessageSource
impl UnwindSafe for SmartMessageSource
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§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