Struct libp2p_networking::network::NetworkNodeHandle
source · pub struct NetworkNodeHandle<K: SignatureKey + 'static> {
network_config: NetworkNodeConfig<K>,
send_network: UnboundedSender<ClientRequest>,
listen_addr: Multiaddr,
peer_id: PeerId,
id: usize,
pd: PhantomData<K>,
}
Expand description
A handle containing:
- A reference to the state
- Controls for the swarm
Fields§
§network_config: NetworkNodeConfig<K>
network configuration
send_network: UnboundedSender<ClientRequest>
send an action to the networkbehaviour
listen_addr: Multiaddr
the local address we’re listening on
peer_id: PeerId
the peer id of the networkbehaviour
id: usize
human readable id
pd: PhantomData<K>
Phantom data to hold the key type
Implementations§
source§impl<K: SignatureKey + 'static> NetworkNodeHandle<K>
impl<K: SignatureKey + 'static> NetworkNodeHandle<K>
sourcepub async fn shutdown(&self) -> Result<(), NetworkNodeHandleError>
pub async fn shutdown(&self) -> Result<(), NetworkNodeHandleError>
Cleanly shuts down a swarm node This is done by sending a message to the swarm itself to spin down
sourcepub async fn begin_bootstrap(&self) -> Result<(), NetworkNodeHandleError>
pub async fn begin_bootstrap(&self) -> Result<(), NetworkNodeHandleError>
Notify the network to begin the bootstrap process
§Errors
If unable to send via send_network
. This should only happen
if the network is shut down.
sourcepub fn listen_addr(&self) -> Multiaddr
pub fn listen_addr(&self) -> Multiaddr
Get a reference to the network node handle’s listen addr.
sourcepub async fn print_routing_table(&self) -> Result<(), NetworkNodeHandleError>
pub async fn print_routing_table(&self) -> Result<(), NetworkNodeHandleError>
Print out the routing table used by kademlia NOTE: only for debugging purposes currently
§Errors
if the client has stopped listening for a response
sourcepub async fn wait_to_connect(
&self,
num_required_peers: usize,
node_id: usize
) -> Result<(), NetworkNodeHandleError>
pub async fn wait_to_connect( &self, num_required_peers: usize, node_id: usize ) -> Result<(), NetworkNodeHandleError>
Wait until at least num_peers
have connected
§Errors
If the channel closes before the result can be sent back
sourcepub async fn request_data(
&self,
request: &[u8],
peer: PeerId
) -> Result<Option<Response>, NetworkNodeHandleError>
pub async fn request_data( &self, request: &[u8], peer: PeerId ) -> Result<Option<Response>, NetworkNodeHandleError>
Request another peer for some data we want. Returns the id of the request
§Errors
Will return a networking error if the channel closes before the result can be sent back
sourcepub async fn respond_data(
&self,
response: Vec<u8>,
chan: ResponseChannel<Response>
) -> Result<(), NetworkNodeHandleError>
pub async fn respond_data( &self, response: Vec<u8>, chan: ResponseChannel<Response> ) -> Result<(), NetworkNodeHandleError>
Send a response to a request with the response channel
§Errors
Will error if the client request channel is closed, or serialization fails.
sourcepub async fn lookup_pid(
&self,
peer_id: PeerId
) -> Result<(), NetworkNodeHandleError>
pub async fn lookup_pid( &self, peer_id: PeerId ) -> Result<(), NetworkNodeHandleError>
Look up a peer’s addresses in kademlia
NOTE: this should always be called before any request_response
is initiated
§Errors
if the client has stopped listening for a response
sourcepub async fn lookup_node(
&self,
key: &[u8],
dht_timeout: Duration
) -> Result<PeerId, NetworkNodeHandleError>
pub async fn lookup_node( &self, key: &[u8], dht_timeout: Duration ) -> Result<PeerId, NetworkNodeHandleError>
Looks up a node’s PeerId
by its staking key. Is authenticated through
get_record
assuming each record should be signed.
§Errors
If the DHT lookup fails
sourcepub async fn put_record(
&self,
key: RecordKey,
value: RecordValue<K>
) -> Result<(), NetworkNodeHandleError>
pub async fn put_record( &self, key: RecordKey, value: RecordValue<K> ) -> Result<(), NetworkNodeHandleError>
Insert a record into the kademlia DHT
§Errors
- Will return
NetworkNodeHandleError::DHTError
when encountering an error putting to DHT - Will return
NetworkNodeHandleError::SerializationError
when unable to serialize the key or value
sourcepub async fn get_record(
&self,
key: RecordKey,
retry_count: u8
) -> Result<Vec<u8>, NetworkNodeHandleError>
pub async fn get_record( &self, key: RecordKey, retry_count: u8 ) -> Result<Vec<u8>, NetworkNodeHandleError>
Receive a record from the kademlia DHT if it exists. Must be replicated on at least 2 nodes
§Errors
- Will return
NetworkNodeHandleError::DHTError
when encountering an error putting to DHT - Will return
NetworkNodeHandleError::SerializationError
when unable to serialize the key - Will return
NetworkNodeHandleError::DeserializationError
when unable to deserialize the returned value
sourcepub async fn get_record_timeout(
&self,
key: RecordKey,
timeout: Duration
) -> Result<Vec<u8>, NetworkNodeHandleError>
pub async fn get_record_timeout( &self, key: RecordKey, timeout: Duration ) -> Result<Vec<u8>, NetworkNodeHandleError>
Get a record from the kademlia DHT with a timeout
§Errors
- Will return
NetworkNodeHandleError::DHTError
when encountering an error putting to DHT - Will return
NetworkNodeHandleError::TimeoutError
when times out - Will return
NetworkNodeHandleError::SerializationError
when unable to serialize the key - Will return
NetworkNodeHandleError::DeserializationError
when unable to deserialize the returned value
sourcepub async fn put_record_timeout(
&self,
key: RecordKey,
value: RecordValue<K>,
timeout: Duration
) -> Result<(), NetworkNodeHandleError>
pub async fn put_record_timeout( &self, key: RecordKey, value: RecordValue<K>, timeout: Duration ) -> Result<(), NetworkNodeHandleError>
Insert a record into the kademlia DHT with a timeout
§Errors
- Will return
NetworkNodeHandleError::DHTError
when encountering an error putting to DHT - Will return
NetworkNodeHandleError::TimeoutError
when times out - Will return
NetworkNodeHandleError::SerializationError
when unable to serialize the key or value - Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed
sourcepub async fn subscribe(
&self,
topic: String
) -> Result<(), NetworkNodeHandleError>
pub async fn subscribe( &self, topic: String ) -> Result<(), NetworkNodeHandleError>
Subscribe to a topic
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed
sourcepub async fn unsubscribe(
&self,
topic: String
) -> Result<(), NetworkNodeHandleError>
pub async fn unsubscribe( &self, topic: String ) -> Result<(), NetworkNodeHandleError>
Unsubscribe from a topic
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed
sourcepub async fn ignore_peers(
&self,
peers: Vec<PeerId>
) -> Result<(), NetworkNodeHandleError>
pub async fn ignore_peers( &self, peers: Vec<PeerId> ) -> Result<(), NetworkNodeHandleError>
Ignore peers
when pruning
e.g. maintain their connection
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed
sourcepub async fn direct_request(
&self,
pid: PeerId,
msg: &[u8]
) -> Result<(), NetworkNodeHandleError>
pub async fn direct_request( &self, pid: PeerId, msg: &[u8] ) -> Result<(), NetworkNodeHandleError>
Make a direct request to peer_id
containing msg
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed - Will return
NetworkNodeHandleError::SerializationError
when unable to serializemsg
sourcepub async fn direct_request_no_serialize(
&self,
pid: PeerId,
contents: Vec<u8>
) -> Result<(), NetworkNodeHandleError>
pub async fn direct_request_no_serialize( &self, pid: PeerId, contents: Vec<u8> ) -> Result<(), NetworkNodeHandleError>
Make a direct request to peer_id
containing msg
without serializing
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed - Will return
NetworkNodeHandleError::SerializationError
when unable to serializemsg
sourcepub async fn direct_response(
&self,
chan: ResponseChannel<Vec<u8>>,
msg: &[u8]
) -> Result<(), NetworkNodeHandleError>
pub async fn direct_response( &self, chan: ResponseChannel<Vec<u8>>, msg: &[u8] ) -> Result<(), NetworkNodeHandleError>
Reply with msg
to a request over chan
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed - Will return
NetworkNodeHandleError::SerializationError
when unable to serializemsg
sourcepub async fn prune_peer(
&self,
pid: PeerId
) -> Result<(), NetworkNodeHandleError>
pub async fn prune_peer( &self, pid: PeerId ) -> Result<(), NetworkNodeHandleError>
sourcepub async fn gossip(
&self,
topic: String,
msg: &[u8]
) -> Result<(), NetworkNodeHandleError>
pub async fn gossip( &self, topic: String, msg: &[u8] ) -> Result<(), NetworkNodeHandleError>
Gossip a message to peers
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed - Will return
NetworkNodeHandleError::SerializationError
when unable to serializemsg
sourcepub async fn gossip_no_serialize(
&self,
topic: String,
msg: Vec<u8>
) -> Result<(), NetworkNodeHandleError>
pub async fn gossip_no_serialize( &self, topic: String, msg: Vec<u8> ) -> Result<(), NetworkNodeHandleError>
Gossip a message to peers without serializing
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed - Will return
NetworkNodeHandleError::SerializationError
when unable to serializemsg
sourcepub async fn add_known_peers(
&self,
known_peers: Vec<(PeerId, Multiaddr)>
) -> Result<(), NetworkNodeHandleError>
pub async fn add_known_peers( &self, known_peers: Vec<(PeerId, Multiaddr)> ) -> Result<(), NetworkNodeHandleError>
Tell libp2p about known network nodes
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed
sourceasync fn send_request(
&self,
req: ClientRequest
) -> Result<(), NetworkNodeHandleError>
async fn send_request( &self, req: ClientRequest ) -> Result<(), NetworkNodeHandleError>
Send a client request to the network
§Errors
- Will return
NetworkNodeHandleError::SendError
when underlyingNetworkNode
has been killed
sourcepub async fn num_connected(&self) -> Result<usize, NetworkNodeHandleError>
pub async fn num_connected(&self) -> Result<usize, NetworkNodeHandleError>
sourcepub async fn connected_pids(
&self
) -> Result<HashSet<PeerId>, NetworkNodeHandleError>
pub async fn connected_pids( &self ) -> Result<HashSet<PeerId>, NetworkNodeHandleError>
sourcepub fn config(&self) -> &NetworkNodeConfig<K>
pub fn config(&self) -> &NetworkNodeConfig<K>
Return a reference to the network config
Trait Implementations§
source§impl<K: Clone + SignatureKey + 'static> Clone for NetworkNodeHandle<K>
impl<K: Clone + SignatureKey + 'static> Clone for NetworkNodeHandle<K>
source§fn clone(&self) -> NetworkNodeHandle<K>
fn clone(&self) -> NetworkNodeHandle<K>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<K> Freeze for NetworkNodeHandle<K>
impl<K> RefUnwindSafe for NetworkNodeHandle<K>where
K: RefUnwindSafe,
impl<K> Send for NetworkNodeHandle<K>
impl<K> Sync for NetworkNodeHandle<K>
impl<K> Unpin for NetworkNodeHandle<K>where
K: Unpin,
impl<K> UnwindSafe for NetworkNodeHandle<K>where
K: UnwindSafe,
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> Conv for T
impl<T> Conv for T
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>
fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>
§fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>
fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>
§fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
§fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
§fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>
fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>
§fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>
fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>
§fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>
fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>
§fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>
fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>
§fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>
fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>
§fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>
fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>
§fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>
fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>
§fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>
fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>
§fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>
fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>
§fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>
fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>
§fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>
fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>
§fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>
fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>
§fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
§fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
§fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
§fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
§fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>
fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>
§fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>
fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>
§fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>
fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>
§fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>
fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>
§fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self>
fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self>
§fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>
fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.