pub struct NetworkConfigBuilder<N = EthNetworkPrimitives>where
N: NetworkPrimitives,{ /* private fields */ }
Expand description
Builder for NetworkConfig
.
Implementations§
Source§impl NetworkConfigBuilder
impl NetworkConfigBuilder
Sourcepub fn eth(secret_key: SecretKey) -> NetworkConfigBuilder
pub fn eth(secret_key: SecretKey) -> NetworkConfigBuilder
Creates the NetworkConfigBuilder
with EthNetworkPrimitives
types.
Source§impl<N> NetworkConfigBuilder<N>where
N: NetworkPrimitives,
impl<N> NetworkConfigBuilder<N>where
N: NetworkPrimitives,
Sourcepub fn with_rng_secret_key() -> NetworkConfigBuilder<N>
pub fn with_rng_secret_key() -> NetworkConfigBuilder<N>
Create a new builder instance with a random secret key.
Sourcepub fn new(secret_key: SecretKey) -> NetworkConfigBuilder<N>
pub fn new(secret_key: SecretKey) -> NetworkConfigBuilder<N>
Create a new builder instance with the given secret key.
Sourcepub fn apply<F>(self, f: F) -> NetworkConfigBuilder<N>
pub fn apply<F>(self, f: F) -> NetworkConfigBuilder<N>
Apply a function to the builder.
Sourcepub fn get_peer_id(&self) -> FixedBytes<64>
pub fn get_peer_id(&self) -> FixedBytes<64>
Returns the configured [PeerId
]
Sourcepub const fn secret_key(&self) -> &SecretKey
pub const fn secret_key(&self) -> &SecretKey
Returns the configured SecretKey
, from which the node’s identity is derived.
Sourcepub const fn network_mode(
self,
network_mode: NetworkMode,
) -> NetworkConfigBuilder<N>
pub const fn network_mode( self, network_mode: NetworkMode, ) -> NetworkConfigBuilder<N>
Sets the NetworkMode
.
Sourcepub const fn with_pow(self) -> NetworkConfigBuilder<N>
pub const fn with_pow(self) -> NetworkConfigBuilder<N>
Configures the network to use proof-of-work.
This effectively allows block propagation in the eth
sub-protocol, which has been
soft-deprecated with ethereum PoS
after the merge. Even if block propagation is
technically allowed, according to the eth protocol, it is not expected to be used in PoS
networks and peers are supposed to terminate the connection if they receive a NewBlock
message.
Sourcepub const fn set_head(self, head: Head) -> NetworkConfigBuilder<N>
pub const fn set_head(self, head: Head) -> NetworkConfigBuilder<N>
Sets the highest synced block.
This is used to construct the appropriate ForkFilter
and Status
message.
If not set, this defaults to the genesis specified by the current chain specification.
Sourcepub fn hello_message(
self,
hello_message: HelloMessageWithProtocols,
) -> NetworkConfigBuilder<N>
pub fn hello_message( self, hello_message: HelloMessageWithProtocols, ) -> NetworkConfigBuilder<N>
Sets the HelloMessage
to send when connecting to peers.
let peer_id = builder.get_peer_id();
builder.hello_message(HelloMessage::builder(peer_id).build());
Sourcepub fn peer_config(self, config: PeersConfig) -> NetworkConfigBuilder<N>
pub fn peer_config(self, config: PeersConfig) -> NetworkConfigBuilder<N>
Set a custom peer config for how peers are handled
Sourcepub fn with_task_executor(
self,
executor: Box<dyn TaskSpawner>,
) -> NetworkConfigBuilder<N>
pub fn with_task_executor( self, executor: Box<dyn TaskSpawner>, ) -> NetworkConfigBuilder<N>
Sets the executor to use for spawning tasks.
If None
, then [tokio::spawn
] is used for spawning tasks.
Sourcepub const fn sessions_config(
self,
config: SessionsConfig,
) -> NetworkConfigBuilder<N>
pub const fn sessions_config( self, config: SessionsConfig, ) -> NetworkConfigBuilder<N>
Sets a custom config for how sessions are handled.
Sourcepub const fn transactions_manager_config(
self,
config: TransactionsManagerConfig,
) -> NetworkConfigBuilder<N>
pub const fn transactions_manager_config( self, config: TransactionsManagerConfig, ) -> NetworkConfigBuilder<N>
Configures the transactions manager with the given config.
Sourcepub const fn set_addrs(self, addr: SocketAddr) -> NetworkConfigBuilder<N>
pub const fn set_addrs(self, addr: SocketAddr) -> NetworkConfigBuilder<N>
Sets the discovery and listener address
This is a convenience function for both NetworkConfigBuilder::listener_addr
and
NetworkConfigBuilder::discovery_addr
.
By default, both are on the same port:
DEFAULT_DISCOVERY_PORT
Sourcepub const fn listener_addr(
self,
listener_addr: SocketAddr,
) -> NetworkConfigBuilder<N>
pub const fn listener_addr( self, listener_addr: SocketAddr, ) -> NetworkConfigBuilder<N>
Sets the socket address the network will listen on.
By default, this is [DEFAULT_DISCOVERY_ADDRESS
]
Sourcepub fn listener_port(self, port: u16) -> NetworkConfigBuilder<N>
pub fn listener_port(self, port: u16) -> NetworkConfigBuilder<N>
Sets the port of the address the network will listen on.
By default, this is DEFAULT_DISCOVERY_PORT
Sourcepub const fn discovery_addr(
self,
discovery_addr: SocketAddr,
) -> NetworkConfigBuilder<N>
pub const fn discovery_addr( self, discovery_addr: SocketAddr, ) -> NetworkConfigBuilder<N>
Sets the socket address the discovery network will listen on
Sourcepub fn discovery_port(self, port: u16) -> NetworkConfigBuilder<N>
pub fn discovery_port(self, port: u16) -> NetworkConfigBuilder<N>
Sets the port of the address the discovery network will listen on.
By default, this is DEFAULT_DISCOVERY_PORT
Sourcepub fn with_unused_ports(self) -> NetworkConfigBuilder<N>
pub fn with_unused_ports(self) -> NetworkConfigBuilder<N>
Launches the network with an unused network and discovery port This is useful for testing.
Sourcepub fn with_unused_discovery_port(self) -> NetworkConfigBuilder<N>
pub fn with_unused_discovery_port(self) -> NetworkConfigBuilder<N>
Sets the discovery port to an unused port. This is useful for testing.
Sourcepub fn with_unused_listener_port(self) -> NetworkConfigBuilder<N>
pub fn with_unused_listener_port(self) -> NetworkConfigBuilder<N>
Sets the listener port to an unused port. This is useful for testing.
Sourcepub fn external_ip_resolver(
self,
resolver: NatResolver,
) -> NetworkConfigBuilder<N>
pub fn external_ip_resolver( self, resolver: NatResolver, ) -> NetworkConfigBuilder<N>
Sets the external ip resolver to use for discovery v4.
If no [Discv4ConfigBuilder
] is set via Self::discovery
, this will create a new one.
This is a convenience function for setting the external ip resolver on the default
[Discv4Config
] config.
Sourcepub fn discovery(self, builder: Discv4ConfigBuilder) -> NetworkConfigBuilder<N>
pub fn discovery(self, builder: Discv4ConfigBuilder) -> NetworkConfigBuilder<N>
Sets the discv4 config to use.
Sourcepub fn discovery_v5(self, builder: ConfigBuilder) -> NetworkConfigBuilder<N>
pub fn discovery_v5(self, builder: ConfigBuilder) -> NetworkConfigBuilder<N>
Sets the discv5 config to use.
Sourcepub fn dns_discovery(
self,
config: DnsDiscoveryConfig,
) -> NetworkConfigBuilder<N>
pub fn dns_discovery( self, config: DnsDiscoveryConfig, ) -> NetworkConfigBuilder<N>
Sets the dns discovery config to use.
Sourcepub fn mainnet_boot_nodes(self) -> NetworkConfigBuilder<N>
pub fn mainnet_boot_nodes(self) -> NetworkConfigBuilder<N>
Convenience function for setting Self::boot_nodes
to the mainnet boot nodes.
Sourcepub fn sepolia_boot_nodes(self) -> NetworkConfigBuilder<N>
pub fn sepolia_boot_nodes(self) -> NetworkConfigBuilder<N>
Convenience function for setting Self::boot_nodes
to the sepolia boot nodes.
Sourcepub fn boot_nodes<T>(
self,
nodes: impl IntoIterator<Item = T>,
) -> NetworkConfigBuilder<N>where
T: Into<TrustedPeer>,
pub fn boot_nodes<T>(
self,
nodes: impl IntoIterator<Item = T>,
) -> NetworkConfigBuilder<N>where
T: Into<TrustedPeer>,
Sets the boot nodes to use to bootstrap the configured discovery services (discv4 + discv5).
Sourcepub fn boot_nodes_iter(&self) -> impl Iterator<Item = &TrustedPeer>
pub fn boot_nodes_iter(&self) -> impl Iterator<Item = &TrustedPeer>
Returns an iterator over all configured boot nodes.
Sourcepub fn disable_dns_discovery(self) -> NetworkConfigBuilder<N>
pub fn disable_dns_discovery(self) -> NetworkConfigBuilder<N>
Disable the DNS discovery.
pub const fn disable_nat(self) -> NetworkConfigBuilder<N>
Sourcepub fn disable_discovery(self) -> NetworkConfigBuilder<N>
pub fn disable_discovery(self) -> NetworkConfigBuilder<N>
Disables all discovery.
Sourcepub fn disable_discovery_if(self, disable: bool) -> NetworkConfigBuilder<N>
pub fn disable_discovery_if(self, disable: bool) -> NetworkConfigBuilder<N>
Disables all discovery if the given condition is true.
Sourcepub fn disable_discv4_discovery(self) -> NetworkConfigBuilder<N>
pub fn disable_discv4_discovery(self) -> NetworkConfigBuilder<N>
Disable the Discv4 discovery.
Sourcepub fn disable_discv5_discovery(self) -> NetworkConfigBuilder<N>
pub fn disable_discv5_discovery(self) -> NetworkConfigBuilder<N>
Disable the Discv5 discovery.
Sourcepub fn disable_dns_discovery_if(self, disable: bool) -> NetworkConfigBuilder<N>
pub fn disable_dns_discovery_if(self, disable: bool) -> NetworkConfigBuilder<N>
Disable the DNS discovery if the given condition is true.
Sourcepub fn disable_discv4_discovery_if(
self,
disable: bool,
) -> NetworkConfigBuilder<N>
pub fn disable_discv4_discovery_if( self, disable: bool, ) -> NetworkConfigBuilder<N>
Disable the Discv4 discovery if the given condition is true.
Sourcepub fn disable_discv5_discovery_if(
self,
disable: bool,
) -> NetworkConfigBuilder<N>
pub fn disable_discv5_discovery_if( self, disable: bool, ) -> NetworkConfigBuilder<N>
Disable the Discv5 discovery if the given condition is true.
Sourcepub fn add_rlpx_sub_protocol(
self,
protocol: impl IntoRlpxSubProtocol,
) -> NetworkConfigBuilder<N>
pub fn add_rlpx_sub_protocol( self, protocol: impl IntoRlpxSubProtocol, ) -> NetworkConfigBuilder<N>
Adds a new additional protocol to the RLPx
sub-protocol list.
Sourcepub const fn disable_tx_gossip(
self,
disable_tx_gossip: bool,
) -> NetworkConfigBuilder<N>
pub const fn disable_tx_gossip( self, disable_tx_gossip: bool, ) -> NetworkConfigBuilder<N>
Sets whether tx gossip is disabled.
Sourcepub fn block_import(
self,
block_import: Box<dyn BlockImport<<N as NetworkPrimitives>::Block>>,
) -> NetworkConfigBuilder<N>
pub fn block_import( self, block_import: Box<dyn BlockImport<<N as NetworkPrimitives>::Block>>, ) -> NetworkConfigBuilder<N>
Sets the block import type.
Sourcepub fn build_with_noop_provider<ChainSpec>(
self,
chain_spec: Arc<ChainSpec>,
) -> NetworkConfig<NoopProvider<ChainSpec>, N>where
ChainSpec: EthChainSpec + Hardforks + 'static,
pub fn build_with_noop_provider<ChainSpec>(
self,
chain_spec: Arc<ChainSpec>,
) -> NetworkConfig<NoopProvider<ChainSpec>, N>where
ChainSpec: EthChainSpec + Hardforks + 'static,
Convenience function for creating a NetworkConfig
with a noop provider that does
nothing.
Sourcepub const fn add_nat(self, nat: Option<NatResolver>) -> NetworkConfigBuilder<N>
pub const fn add_nat(self, nat: Option<NatResolver>) -> NetworkConfigBuilder<N>
Sets the NAT resolver for external IP.
Sourcepub fn eth_rlpx_handshake(
self,
handshake: Arc<dyn EthRlpxHandshake>,
) -> NetworkConfigBuilder<N>
pub fn eth_rlpx_handshake( self, handshake: Arc<dyn EthRlpxHandshake>, ) -> NetworkConfigBuilder<N>
Overrides the default Eth RLPx
handshake.
Sourcepub fn build<C>(self, client: C) -> NetworkConfig<C, N>
pub fn build<C>(self, client: C) -> NetworkConfig<C, N>
Consumes the type and creates the actual NetworkConfig
for the given client type that can interact with the chain.
The given client is to be used for interacting with the chain, for example fetching the corresponding block for a given block hash we receive from a peer in the status message when establishing a connection.
Trait Implementations§
Auto Trait Implementations§
impl<N> Freeze for NetworkConfigBuilder<N>
impl<N = EthNetworkPrimitives> !RefUnwindSafe for NetworkConfigBuilder<N>
impl<N> Send for NetworkConfigBuilder<N>
impl<N> Sync for NetworkConfigBuilder<N>
impl<N> Unpin for NetworkConfigBuilder<N>
impl<N = EthNetworkPrimitives> !UnwindSafe for NetworkConfigBuilder<N>
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> Conv for T
impl<T> Conv for T
§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<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv
from a transaction and a sender address.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute
] value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
[Quirk
] value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition
] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
§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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§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.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 2296 bytes