Struct NodeConfig
pub struct NodeConfig<ChainSpec> {Show 13 fields
pub datadir: DatadirArgs,
pub config: Option<PathBuf>,
pub chain: Arc<ChainSpec>,
pub metrics: Option<SocketAddr>,
pub instance: u16,
pub network: NetworkArgs,
pub rpc: RpcServerArgs,
pub txpool: TxPoolArgs,
pub builder: PayloadBuilderArgs,
pub debug: DebugArgs,
pub db: DatabaseArgs,
pub dev: DevArgs,
pub pruning: PruningArgs,
}
Expand description
This includes all necessary configuration to launch the node. The individual configuration options can be overwritten before launching the node.
§Example
async fn t() {
// create the builder
let builder = NodeConfig::default();
// configure the rpc apis
let mut rpc = RpcServerArgs::default().with_http().with_ws();
rpc.http_api = Some(RpcModuleSelection::All);
let builder = builder.with_rpc(rpc);
}
This can also be used to launch a node with a temporary test database. This can be done with
the NodeConfig::test
method.
§Example
async fn t() {
// create the builder with a test database, using the `test` method
let builder = NodeConfig::test();
// configure the rpc apis
let mut rpc = RpcServerArgs::default().with_http().with_ws();
rpc.http_api = Some(RpcModuleSelection::All);
let builder = builder.with_rpc(rpc);
}
Fields§
§datadir: DatadirArgs
All data directory related arguments
config: Option<PathBuf>
The path to the configuration file to use.
chain: Arc<ChainSpec>
The chain this node is running.
Possible values are either a built-in chain or the path to a chain specification file.
metrics: Option<SocketAddr>
Enable Prometheus metrics.
The metrics will be served at the given interface and port.
instance: u16
Add a new instance of a node.
Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine.
Max number of instances is 200. It is chosen in a way so that it’s not possible to have port numbers that conflict with each other.
Changes to the following port numbers:
DISCOVERY_PORT
: default +instance
- 1DISCOVERY_V5_PORT
: default +instance
- 1AUTH_PORT
: default +instance
* 100 - 100HTTP_RPC_PORT
: default -instance
+ 1WS_RPC_PORT
: default +instance
* 2 - 2
network: NetworkArgs
All networking related arguments
rpc: RpcServerArgs
All rpc related arguments
txpool: TxPoolArgs
All txpool related arguments with –txpool prefix
builder: PayloadBuilderArgs
All payload builder related arguments
debug: DebugArgs
All debug related arguments with –debug prefix
db: DatabaseArgs
All database related arguments
dev: DevArgs
All dev related arguments with –dev prefix
pruning: PruningArgs
All pruning related arguments
Implementations§
§impl NodeConfig<ChainSpec>
impl NodeConfig<ChainSpec>
pub fn test() -> NodeConfig<ChainSpec>
pub fn test() -> NodeConfig<ChainSpec>
Creates a testing NodeConfig
, causing the database to be launched ephemerally.
§impl<ChainSpec> NodeConfig<ChainSpec>
impl<ChainSpec> NodeConfig<ChainSpec>
pub fn new(chain: Arc<ChainSpec>) -> NodeConfig<ChainSpec>
pub fn new(chain: Arc<ChainSpec>) -> NodeConfig<ChainSpec>
Creates a new config with given chain spec, setting all fields to default values.
pub const fn dev(self) -> NodeConfig<ChainSpec>
pub const fn dev(self) -> NodeConfig<ChainSpec>
Sets –dev mode for the node.
In addition to setting the --dev
flag, this also:
- disables discovery in
NetworkArgs
.
pub const fn set_dev(self, dev: bool) -> NodeConfig<ChainSpec>
pub const fn set_dev(self, dev: bool) -> NodeConfig<ChainSpec>
Sets –dev mode for the node NodeConfig::dev
, if dev
is true.
pub fn with_datadir_args(
self,
datadir_args: DatadirArgs,
) -> NodeConfig<ChainSpec>
pub fn with_datadir_args( self, datadir_args: DatadirArgs, ) -> NodeConfig<ChainSpec>
Set the data directory args for the node
pub fn with_config(self, config: impl Into<PathBuf>) -> NodeConfig<ChainSpec>
pub fn with_config(self, config: impl Into<PathBuf>) -> NodeConfig<ChainSpec>
Set the config file for the node
pub fn with_chain(
self,
chain: impl Into<Arc<ChainSpec>>,
) -> NodeConfig<ChainSpec>
pub fn with_chain( self, chain: impl Into<Arc<ChainSpec>>, ) -> NodeConfig<ChainSpec>
Set the ChainSpec
for the node
pub const fn with_metrics(self, metrics: SocketAddr) -> NodeConfig<ChainSpec>
pub const fn with_metrics(self, metrics: SocketAddr) -> NodeConfig<ChainSpec>
Set the metrics address for the node
pub const fn with_instance(self, instance: u16) -> NodeConfig<ChainSpec>
pub const fn with_instance(self, instance: u16) -> NodeConfig<ChainSpec>
Set the instance for the node
pub fn with_network(self, network: NetworkArgs) -> NodeConfig<ChainSpec>
pub fn with_network(self, network: NetworkArgs) -> NodeConfig<ChainSpec>
Set the network args for the node
pub fn with_rpc(self, rpc: RpcServerArgs) -> NodeConfig<ChainSpec>
pub fn with_rpc(self, rpc: RpcServerArgs) -> NodeConfig<ChainSpec>
Set the rpc args for the node
pub fn with_txpool(self, txpool: TxPoolArgs) -> NodeConfig<ChainSpec>
pub fn with_txpool(self, txpool: TxPoolArgs) -> NodeConfig<ChainSpec>
Set the txpool args for the node
pub fn with_payload_builder(
self,
builder: PayloadBuilderArgs,
) -> NodeConfig<ChainSpec>
pub fn with_payload_builder( self, builder: PayloadBuilderArgs, ) -> NodeConfig<ChainSpec>
Set the builder args for the node
pub fn with_debug(self, debug: DebugArgs) -> NodeConfig<ChainSpec>
pub fn with_debug(self, debug: DebugArgs) -> NodeConfig<ChainSpec>
Set the debug args for the node
pub const fn with_db(self, db: DatabaseArgs) -> NodeConfig<ChainSpec>
pub const fn with_db(self, db: DatabaseArgs) -> NodeConfig<ChainSpec>
Set the database args for the node
pub const fn with_dev(self, dev: DevArgs) -> NodeConfig<ChainSpec>
pub const fn with_dev(self, dev: DevArgs) -> NodeConfig<ChainSpec>
Set the dev args for the node
pub fn with_pruning(self, pruning: PruningArgs) -> NodeConfig<ChainSpec>
pub fn with_pruning(self, pruning: PruningArgs) -> NodeConfig<ChainSpec>
Set the pruning args for the node
pub fn prune_config(&self) -> Option<PruneConfig>where
ChainSpec: EthChainSpec,
pub fn prune_config(&self) -> Option<PruneConfig>where
ChainSpec: EthChainSpec,
Returns pruning configuration.
pub async fn max_block<Provider, Client>(
&self,
network_client: Client,
provider: Provider,
) -> Result<Option<u64>, Report>where
Provider: HeaderProvider,
Client: HeadersClient,
<Client as HeadersClient>::Header: BlockHeader,
pub async fn max_block<Provider, Client>(
&self,
network_client: Client,
provider: Provider,
) -> Result<Option<u64>, Report>where
Provider: HeaderProvider,
Client: HeadersClient,
<Client as HeadersClient>::Header: BlockHeader,
Returns the max block that the node should run to, looking it up from the network if necessary
pub fn lookup_head<Factory>(
&self,
factory: &Factory,
) -> Result<Head, ProviderError>where
Factory: DatabaseProviderFactory,
<Factory as DatabaseProviderFactory>::Provider: HeaderProvider + StageCheckpointReader + BlockHashReader,
pub fn lookup_head<Factory>(
&self,
factory: &Factory,
) -> Result<Head, ProviderError>where
Factory: DatabaseProviderFactory,
<Factory as DatabaseProviderFactory>::Provider: HeaderProvider + StageCheckpointReader + BlockHashReader,
Fetches the head block from the database.
If the database is empty, returns the genesis block.
pub async fn lookup_or_fetch_tip<Provider, Client>(
&self,
provider: Provider,
client: Client,
tip: FixedBytes<32>,
) -> Result<u64, ProviderError>where
Provider: HeaderProvider,
Client: HeadersClient,
<Client as HeadersClient>::Header: BlockHeader,
pub async fn lookup_or_fetch_tip<Provider, Client>(
&self,
provider: Provider,
client: Client,
tip: FixedBytes<32>,
) -> Result<u64, ProviderError>where
Provider: HeaderProvider,
Client: HeadersClient,
<Client as HeadersClient>::Header: BlockHeader,
Attempt to look up the block number for the tip hash in the database. If it doesn’t exist, download the header and return the block number.
NOTE: The download is attempted with infinite retries.
pub async fn fetch_tip_from_network<Client>(
&self,
client: Client,
tip: HashOrNumber,
) -> SealedHeader<<Client as HeadersClient>::Header>
pub async fn fetch_tip_from_network<Client>( &self, client: Client, tip: HashOrNumber, ) -> SealedHeader<<Client as HeadersClient>::Header>
Attempt to look up the block with the given number and return the header.
NOTE: The download is attempted with infinite retries.
pub fn adjust_instance_ports(&mut self)
pub fn adjust_instance_ports(&mut self)
Change rpc port numbers based on the instance number, using the inner
RpcServerArgs::adjust_instance_ports
method.
pub fn with_unused_ports(self) -> NodeConfig<ChainSpec>
pub fn with_unused_ports(self) -> NodeConfig<ChainSpec>
Sets networking and RPC ports to zero, causing the OS to choose random unused ports when sockets are bound.
pub fn datadir(&self) -> ChainPath<DataDirPath>where
ChainSpec: EthChainSpec,
pub fn datadir(&self) -> ChainPath<DataDirPath>where
ChainSpec: EthChainSpec,
Resolve the final datadir path.
pub fn load_path<T>(path: impl AsRef<Path>) -> Result<T, Report>
pub fn load_path<T>(path: impl AsRef<Path>) -> Result<T, Report>
Load an application configuration from a specified path.
A new configuration file is created with default values if none exists.
pub fn map_chainspec<F, C>(self, f: F) -> NodeConfig<C>
pub fn map_chainspec<F, C>(self, f: F) -> NodeConfig<C>
Modifies the ChainSpec
generic of the config using the provided closure.
Trait Implementations§
§impl<ChainSpec> Clone for NodeConfig<ChainSpec>
impl<ChainSpec> Clone for NodeConfig<ChainSpec>
§fn clone(&self) -> NodeConfig<ChainSpec>
fn clone(&self) -> NodeConfig<ChainSpec>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl<ChainSpec> Debug for NodeConfig<ChainSpec>where
ChainSpec: Debug,
impl<ChainSpec> Debug for NodeConfig<ChainSpec>where
ChainSpec: Debug,
§impl Default for NodeConfig<ChainSpec>
impl Default for NodeConfig<ChainSpec>
§fn default() -> NodeConfig<ChainSpec>
fn default() -> NodeConfig<ChainSpec>
Auto Trait Implementations§
impl<ChainSpec> Freeze for NodeConfig<ChainSpec>
impl<ChainSpec> RefUnwindSafe for NodeConfig<ChainSpec>where
ChainSpec: RefUnwindSafe,
impl<ChainSpec> Send for NodeConfig<ChainSpec>
impl<ChainSpec> Sync for NodeConfig<ChainSpec>
impl<ChainSpec> Unpin for NodeConfig<ChainSpec>
impl<ChainSpec> UnwindSafe for NodeConfig<ChainSpec>where
ChainSpec: RefUnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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<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: 1792 bytes