Struct zaino_serve::rpc::GrpcClient
source · pub struct GrpcClient {
pub lightwalletd_uri: Uri,
pub zebrad_uri: Uri,
pub online: Arc<AtomicBool>,
}
Expand description
Configuration data for gRPC server.
Fields§
§lightwalletd_uri: Uri
Lightwalletd uri. Used by grpc_passthrough to pass on unimplemented RPCs.
zebrad_uri: Uri
Zebrad uri.
online: Arc<AtomicBool>
Represents the Online status of the gRPC server.
Trait Implementations§
source§impl Clone for GrpcClient
impl Clone for GrpcClient
source§fn clone(&self) -> GrpcClient
fn clone(&self) -> GrpcClient
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl CompactTxStreamer for GrpcClient
impl CompactTxStreamer for GrpcClient
source§fn get_latest_block<'life0, 'async_trait>(
&'life0 self,
_request: Request<ChainSpec>,
) -> Pin<Box<dyn Future<Output = Result<Response<BlockId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_latest_block<'life0, 'async_trait>(
&'life0 self,
_request: Request<ChainSpec>,
) -> Pin<Box<dyn Future<Output = Result<Response<BlockId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the height of the tip of the best chain.
source§fn get_block<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Response<CompactBlock>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Response<CompactBlock>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the compact block corresponding to the given block identifier.
TODO: This implementation is slow. An internal block cache should be implemented that this rpc, along with the get_block rpc, can rely on. - add get_block function that queries the block cache / internal state for block and calls get_block_from_node to fetch block if not present. - use chain height held in internal state to validate block height being requested.
source§fn get_block_nullifiers<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Response<CompactBlock>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_nullifiers<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Response<CompactBlock>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Same as GetBlock except actions contain only nullifiers.
NOTE: This should be reimplemented with the introduction of the BlockCache. - use chain height held in internal state to validate block height being requested.
§type GetBlockRangeStream = Pin<Box<CompactBlockStream>>
type GetBlockRangeStream = Pin<Box<CompactBlockStream>>
Server streaming response type for the GetBlockRange method. Server streaming response type for the GetBlockRange method.
source§fn get_block_range<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockRange>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetBlockRangeStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_range<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockRange>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetBlockRangeStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a list of consecutive compact blocks.
TODO: This implementation is slow. An internal block cache should be implemented that this rpc, along with the get_block rpc, can rely on. - add get_block function that queries the block cache for block and calls get_block_from_node to fetch block if not present. - use chain height held in internal state to validate block height being requested.
§type GetBlockRangeNullifiersStream = Pin<Box<CompactBlockStream>>
type GetBlockRangeNullifiersStream = Pin<Box<CompactBlockStream>>
Server streaming response type for the GetBlockRangeNullifiers method. Server streaming response type for the GetBlockRangeNullifiers method.
source§fn get_block_range_nullifiers<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockRange>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetBlockRangeNullifiersStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_range_nullifiers<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockRange>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetBlockRangeNullifiersStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Same as GetBlockRange except actions contain only nullifiers.
NOTE: This should be reimplemented with the introduction of the BlockCache. - use chain height held in internal state to validate block height being requested.
source§fn get_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<TxFilter>,
) -> Pin<Box<dyn Future<Output = Result<Response<RawTransaction>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<TxFilter>,
) -> Pin<Box<dyn Future<Output = Result<Response<RawTransaction>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the requested full (not compact) transaction (as from zcashd).
source§fn send_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<RawTransaction>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<RawTransaction>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit the given transaction to the Zcash network.
§type GetTaddressTxidsStream = Pin<Box<RawTransactionStream>>
type GetTaddressTxidsStream = Pin<Box<RawTransactionStream>>
Server streaming response type for the GetTaddressTxids method. Server streaming response type for the GetTaddressTxids method.
source§fn get_taddress_txids<'life0, 'async_trait>(
&'life0 self,
request: Request<TransparentAddressBlockFilter>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetTaddressTxidsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_taddress_txids<'life0, 'async_trait>(
&'life0 self,
request: Request<TransparentAddressBlockFilter>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetTaddressTxidsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
This name is misleading, returns the full transactions that have either inputs or outputs connected to the given transparent address.
source§fn get_taddress_balance<'life0, 'async_trait>(
&'life0 self,
request: Request<AddressList>,
) -> Pin<Box<dyn Future<Output = Result<Response<Balance>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_taddress_balance<'life0, 'async_trait>(
&'life0 self,
request: Request<AddressList>,
) -> Pin<Box<dyn Future<Output = Result<Response<Balance>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the total balance for a list of taddrs
source§fn get_taddress_balance_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<Address>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Balance>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_taddress_balance_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<Address>>,
) -> Pin<Box<dyn Future<Output = Result<Response<Balance>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the total balance for a list of taddrs
§type GetMempoolTxStream = Pin<Box<CompactTransactionStream>>
type GetMempoolTxStream = Pin<Box<CompactTransactionStream>>
Server streaming response type for the GetMempoolTx method. Server streaming response type for the GetMempoolTx method.
source§fn get_mempool_tx<'life0, 'async_trait>(
&'life0 self,
request: Request<Exclude>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetMempoolTxStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_mempool_tx<'life0, 'async_trait>(
&'life0 self,
request: Request<Exclude>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetMempoolTxStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return the compact transactions currently in the mempool; the results can be a few seconds out of date. If the Exclude list is empty, return all transactions; otherwise return all except those in the Exclude list (if any); this allows the client to avoid receiving transactions that it already has (from an earlier call to this rpc). The transaction IDs in the Exclude list can be shortened to any number of bytes to make the request more bandwidth-efficient; if two or more transactions in the mempool match a shortened txid, they are all sent (none is excluded). Transactions in the exclude list that don’t exist in the mempool are ignored.
NOTE: This implementation is slow and should be re-implemented with the addition of the internal mempool and blockcache.
§type GetMempoolStreamStream = Pin<Box<RawTransactionStream>>
type GetMempoolStreamStream = Pin<Box<RawTransactionStream>>
Server streaming response type for the GetMempoolStream method. Server streaming response type for the GetMempoolStream method.
source§fn get_mempool_stream<'life0, 'async_trait>(
&'life0 self,
_request: Request<Empty>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetMempoolStreamStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_mempool_stream<'life0, 'async_trait>(
&'life0 self,
_request: Request<Empty>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetMempoolStreamStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a stream of current Mempool transactions. This will keep the output stream open while there are mempool transactions. It will close the returned stream when a new block is mined.
TODO: This implementation is slow. Zingo-Indexer’s blockcache state engine should keep its own internal mempool state. - This RPC should query Zingo-Indexer’s internal mempool state rather than creating its own mempool and directly querying zebrad.
source§fn get_tree_state<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Response<TreeState>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_tree_state<'life0, 'async_trait>(
&'life0 self,
request: Request<BlockId>,
) -> Pin<Box<dyn Future<Output = Result<Response<TreeState>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
GetTreeState returns the note commitment tree state corresponding to the given block. See section 3.7 of the Zcash protocol specification. It returns several other useful values also (even though they can be obtained using GetBlock). The block can be specified by either height or hash.
TODO: This is slow. Chain, along with other blockchain info should be saved on startup and used here [blockcache?].
source§fn get_latest_tree_state<'life0, 'async_trait>(
&'life0 self,
_request: Request<Empty>,
) -> Pin<Box<dyn Future<Output = Result<Response<TreeState>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_latest_tree_state<'life0, 'async_trait>(
&'life0 self,
_request: Request<Empty>,
) -> Pin<Box<dyn Future<Output = Result<Response<TreeState>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
GetLatestTreeState returns the note commitment tree state corresponding to the chain tip.
TODO: This is slow. Chain, along with other blockchain info should be saved on startup and used here [blockcache?].
§type GetSubtreeRootsStream = Pin<Box<SubtreeRootReplyStream>>
type GetSubtreeRootsStream = Pin<Box<SubtreeRootReplyStream>>
Server streaming response type for the GetSubtreeRoots method. Server streaming response type for the GetSubtreeRoots method.
source§fn get_subtree_roots<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSubtreeRootsArg>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetSubtreeRootsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_subtree_roots<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSubtreeRootsArg>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetSubtreeRootsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns a stream of information about roots of subtrees of the Sapling and Orchard note commitment trees.
source§fn get_address_utxos<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAddressUtxosArg>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAddressUtxosReplyList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_address_utxos<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAddressUtxosArg>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAddressUtxosReplyList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns all unspent outputs for a list of addresses.
Ignores all utxos below block height [GetAddressUtxosArg.start_height]. Returns max [GetAddressUtxosArg.max_entries] utxos, or unrestricted if [GetAddressUtxosArg.max_entries] = 0. Utxos are collected and returned as a single Vec.
§type GetAddressUtxosStreamStream = Pin<Box<UtxoReplyStream>>
type GetAddressUtxosStreamStream = Pin<Box<UtxoReplyStream>>
Server streaming response type for the GetAddressUtxosStream method. Server streaming response type for the GetAddressUtxosStream method.
source§fn get_address_utxos_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAddressUtxosArg>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetAddressUtxosStreamStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_address_utxos_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAddressUtxosArg>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::GetAddressUtxosStreamStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns all unspent outputs for a list of addresses.
Ignores all utxos below block height [GetAddressUtxosArg.start_height]. Returns max [GetAddressUtxosArg.max_entries] utxos, or unrestricted if [GetAddressUtxosArg.max_entries] = 0. Utxos are returned in a stream.
source§fn get_lightd_info<'life0, 'async_trait>(
&'life0 self,
_request: Request<Empty>,
) -> Pin<Box<dyn Future<Output = Result<Response<LightdInfo>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_lightd_info<'life0, 'async_trait>(
&'life0 self,
_request: Request<Empty>,
) -> Pin<Box<dyn Future<Output = Result<Response<LightdInfo>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return information about this lightwalletd instance and the blockchain
source§fn ping<'life0, 'async_trait>(
&'life0 self,
_request: Request<Duration>,
) -> Pin<Box<dyn Future<Output = Result<Response<PingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ping<'life0, 'async_trait>(
&'life0 self,
_request: Request<Duration>,
) -> Pin<Box<dyn Future<Output = Result<Response<PingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Testing-only, requires lightwalletd –ping-very-insecure (do not enable in production) [from zebrad] This RPC has not been implemented as it is not currently used by zingolib. If you require this RPC please open an issue or PR at the Zingo-Indexer github (https://github.com/zingolabs/zingo-indexer).
Auto Trait Implementations§
impl !Freeze for GrpcClient
impl RefUnwindSafe for GrpcClient
impl Send for GrpcClient
impl Sync for GrpcClient
impl Unpin for GrpcClient
impl UnwindSafe for GrpcClient
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§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.