pub struct NodeApiStateImpl<D> {
data_source: D,
}Expand description
Node API state implementation
This struct implements both v1::RewardApi (internal types) and v2::RewardApi (proto types).
Fields§
§data_source: DImplementations§
Source§impl<D> NodeApiStateImpl<D>
impl<D> NodeApiStateImpl<D>
pub fn new(data_source: D) -> Self
Sourcefn convert_reward_account_proof_v2(
&self,
proof: &InternalRewardAccountProofV2,
) -> Result<RewardAccountProofV2>
fn convert_reward_account_proof_v2( &self, proof: &InternalRewardAccountProofV2, ) -> Result<RewardAccountProofV2>
Convert RewardAccountProofV2 to proto
Sourcefn convert_reward_merkle_proof_v2(
&self,
proof: &InternalRewardMerkleProofV2,
) -> Result<RewardMerkleProofV2>
fn convert_reward_merkle_proof_v2( &self, proof: &InternalRewardMerkleProofV2, ) -> Result<RewardMerkleProofV2>
Convert RewardMerkleProofV2 enum to proto
Sourcefn convert_merkle_proof(
&self,
proof: &InternalMerkleProof<InternalRewardAmount, RewardAccountV2, KeccakNode, 2>,
) -> Result<MerkleProof>
fn convert_merkle_proof( &self, proof: &InternalMerkleProof<InternalRewardAmount, RewardAccountV2, KeccakNode, 2>, ) -> Result<MerkleProof>
Convert MerkleProof to proto
Sourcefn convert_merkle_node(
&self,
node: &InternalMerkleNode<InternalRewardAmount, RewardAccountV2, KeccakNode>,
) -> Result<MerkleNode>
fn convert_merkle_node( &self, node: &InternalMerkleNode<InternalRewardAmount, RewardAccountV2, KeccakNode>, ) -> Result<MerkleNode>
Convert MerkleNode to proto (recursive)
Trait Implementations§
Source§impl<D> ApiSerializations for NodeApiStateImpl<D>
impl<D> ApiSerializations for NodeApiStateImpl<D>
type Address = Address
type RewardClaimInput = RewardClaimInput
type RewardBalance = Uint<256, 4>
type RewardAccountQueryData = RewardAccountQueryDataV2
type RewardBalances = (Vec<(RewardAccountV2, RewardAmount)>, u64)
type RewardMerkleTreeData = RewardMerkleTreeV2Data
type NamespaceProof = NamespaceProofQueryData
type IncorrectEncodingProof = AvidMIncorrectEncodingNsProof
type StateCertificate = StateCertQueryDataV2<SeqTypes>
type StakeTable = Vec<PeerConfig<SeqTypes>>
type PeerConfig = PeerConfig<SeqTypes>
type LightClientCert = LightClientStateUpdateCertificateV2<SeqTypes>
type NsProof = NsProof
fn deserialize_address(&self, s: &str) -> Result<Self::Address>
fn serialize_reward_claim_input( &self, address: &str, value: &Self::RewardClaimInput, ) -> Result<RewardClaimInput>
fn serialize_reward_balance( &self, value: &Self::RewardBalance, ) -> Result<RewardBalance>
fn serialize_reward_account_query_data( &self, value: &Self::RewardAccountQueryData, ) -> Result<RewardAccountQueryDataV2>
fn serialize_reward_balances( &self, value: &Self::RewardBalances, ) -> Result<RewardBalances>
fn serialize_reward_merkle_tree_data( &self, value: &Self::RewardMerkleTreeData, ) -> Result<RewardMerkleTreeV2Data>
fn serialize_namespace_proof( &self, value: &Self::NamespaceProof, ) -> Result<NamespaceProofResponse>
fn serialize_incorrect_encoding_proof( &self, value: &Self::IncorrectEncodingProof, ) -> Result<IncorrectEncodingProofResponse>
fn serialize_state_certificate( &self, value: &Self::StateCertificate, ) -> Result<StateCertificateResponse>
fn serialize_stake_table( &self, value: &Self::StakeTable, ) -> Result<StakeTableResponse>
fn serialize_peer_config(&self, peer: &Self::PeerConfig) -> Result<PeerConfig>
fn serialize_light_client_cert( &self, cert: &Self::LightClientCert, ) -> Result<LightClientStateUpdateCertificateV2>
fn serialize_ns_proof(&self, proof: &Self::NsProof) -> Result<NsProof>
Source§impl<D> AvailabilityApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + AvailabilityDataSource<SeqTypes> + NodeDataSource<SeqTypes> + RequestResponseDataSource<SeqTypes> + StateCertDataSource + StateCertFetchingDataSource<SeqTypes> + Send + Sync,
impl<D> AvailabilityApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + AvailabilityDataSource<SeqTypes> + NodeDataSource<SeqTypes> + RequestResponseDataSource<SeqTypes> + StateCertDataSource + StateCertFetchingDataSource<SeqTypes> + Send + Sync,
type NamespaceProofQueryData = NamespaceProofQueryData
type IncorrectEncodingProof = AvidMIncorrectEncodingNsProof
type StateCertQueryDataV1 = StateCertQueryDataV1<SeqTypes>
type StateCertQueryDataV2 = StateCertQueryDataV2<SeqTypes>
fn get_namespace_proof<'life0, 'async_trait>(
&'life0 self,
block_id: BlockId,
namespace: u32,
) -> Pin<Box<dyn Future<Output = Result<Option<Self::NamespaceProofQueryData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_namespace_proof_range<'life0, 'async_trait>(
&'life0 self,
from: u64,
until: u64,
namespace: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::NamespaceProofQueryData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_namespace_proofs<'life0, 'async_trait>(
&'life0 self,
from: usize,
namespace: u32,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::NamespaceProofQueryData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_incorrect_encoding_proof<'life0, 'async_trait>(
&'life0 self,
block_id: BlockId,
namespace: u32,
) -> Pin<Box<dyn Future<Output = Result<Self::IncorrectEncodingProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_state_cert<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StateCertQueryDataV1>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_state_cert_v2<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StateCertQueryDataV2>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D: Clone> Clone for NodeApiStateImpl<D>
impl<D: Clone> Clone for NodeApiStateImpl<D>
Source§fn clone(&self) -> NodeApiStateImpl<D>
fn clone(&self) -> NodeApiStateImpl<D>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<D> ConsensusApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + StateCertDataSource + StateCertFetchingDataSource<SeqTypes> + StakeTableDataSource<SeqTypes> + Send + Sync,
impl<D> ConsensusApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + StateCertDataSource + StateCertFetchingDataSource<SeqTypes> + StakeTableDataSource<SeqTypes> + Send + Sync,
fn get_state_certificate<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StateCertificate>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_stake_table<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StakeTable>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> DataApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + AvailabilityDataSource<SeqTypes> + NodeDataSource<SeqTypes> + RequestResponseDataSource<SeqTypes> + Sync + Send,
impl<D> DataApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + AvailabilityDataSource<SeqTypes> + NodeDataSource<SeqTypes> + RequestResponseDataSource<SeqTypes> + Sync + Send,
fn get_namespace_proof<'life0, 'async_trait>(
&'life0 self,
namespace_id: u64,
block_height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::NamespaceProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_namespace_proof_range<'life0, 'async_trait>(
&'life0 self,
namespace_id: u64,
from: u64,
until: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::NamespaceProof>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_incorrect_encoding_proof<'life0, 'async_trait>(
&'life0 self,
namespace_id: u64,
block_height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::IncorrectEncodingProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> HotShotAvailabilityApi for NodeApiStateImpl<D>
impl<D> HotShotAvailabilityApi for NodeApiStateImpl<D>
type Leaf = LeafQueryData<SeqTypes>
type Block = BlockQueryData<SeqTypes>
type Header = <SeqTypes as NodeType>::BlockHeader
type Payload = PayloadQueryData<SeqTypes>
type VidCommon = VidCommonQueryData<SeqTypes>
type Transaction = TransactionQueryData<SeqTypes>
type TransactionWithProof = TransactionWithProofQueryData<SeqTypes>
type BlockSummary = BlockSummaryQueryData<SeqTypes>
type Limits = Limits
type Cert2 = SimpleCertificate<SeqTypes, Vote2Data<SeqTypes>, SuccessThreshold>
fn get_leaf<'life0, 'async_trait>(
&'life0 self,
id: LeafId,
) -> Pin<Box<dyn Future<Output = Result<Self::Leaf>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_leaf_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Leaf>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_header<'life0, 'async_trait>(
&'life0 self,
id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Self::Header>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_header_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Header>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block<'life0, 'async_trait>(
&'life0 self,
id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Self::Block>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Block>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_payload<'life0, 'async_trait>(
&'life0 self,
id: PayloadId,
) -> Pin<Box<dyn Future<Output = Result<Self::Payload>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_payload_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Payload>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_vid_common<'life0, 'async_trait>(
&'life0 self,
id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Self::VidCommon>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_vid_common_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::VidCommon>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_by_position<'life0, 'async_trait>(
&'life0 self,
height: u64,
index: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::Transaction>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: String,
) -> Pin<Box<dyn Future<Output = Result<Self::Transaction>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_proof_by_position<'life0, 'async_trait>(
&'life0 self,
height: u64,
index: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::TransactionWithProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_proof_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: String,
) -> Pin<Box<dyn Future<Output = Result<Self::TransactionWithProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_summary<'life0, 'async_trait>(
&'life0 self,
height: usize,
) -> Pin<Box<dyn Future<Output = Result<Self::BlockSummary>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_summary_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::BlockSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_limits<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Limits>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_cert2<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<Self::Cert2>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_leaves<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Leaf>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_headers<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Header>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_blocks<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Block>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_payloads<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Payload>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_vid_common<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::VidCommon>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_transactions<'life0, 'async_trait>(
&'life0 self,
from: usize,
namespace: Option<u32>,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Transaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> RewardApi for NodeApiStateImpl<D>
impl<D> RewardApi for NodeApiStateImpl<D>
fn get_reward_claim_input<'life0, 'async_trait>(
&'life0 self,
address: Self::Address,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardClaimInput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_balance<'life0, 'async_trait>(
&'life0 self,
address: Self::Address,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
address: Self::Address,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_balances<'life0, 'async_trait>(
&'life0 self,
height: u64,
offset: u64,
limit: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalances>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_merkle_tree_v2<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardMerkleTreeData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> RewardApi for NodeApiStateImpl<D>where
D: RewardMerkleTreeDataSource,
impl<D> RewardApi for NodeApiStateImpl<D>where
D: RewardMerkleTreeDataSource,
Source§type RewardClaimInput = RewardClaimInput
type RewardClaimInput = RewardClaimInput
Source§type RewardBalance = RewardAmount
type RewardBalance = RewardAmount
Source§type RewardAccountQueryData = RewardAccountQueryDataV2
type RewardAccountQueryData = RewardAccountQueryDataV2
Source§type RewardAmounts = Vec<(Address, RewardAmount)>
type RewardAmounts = Vec<(Address, RewardAmount)>
Source§type RewardMerkleTreeData = Vec<u8>
type RewardMerkleTreeData = Vec<u8>
Source§fn get_reward_claim_input<'life0, 'async_trait>(
&'life0 self,
block_height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardClaimInput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_claim_input<'life0, 'async_trait>(
&'life0 self,
block_height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardClaimInput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_reward_balance<'life0, 'async_trait>(
&'life0 self,
height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_balance<'life0, 'async_trait>(
&'life0 self,
height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_latest_reward_balance<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_latest_reward_balance<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_latest_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_latest_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_reward_amounts<'life0, 'async_trait>(
&'life0 self,
height: u64,
offset: u64,
limit: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAmounts>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_amounts<'life0, 'async_trait>(
&'life0 self,
height: u64,
offset: u64,
limit: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAmounts>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl<D> Freeze for NodeApiStateImpl<D>where
D: Freeze,
impl<D> RefUnwindSafe for NodeApiStateImpl<D>where
D: RefUnwindSafe,
impl<D> Send for NodeApiStateImpl<D>where
D: Send,
impl<D> Sync for NodeApiStateImpl<D>where
D: Sync,
impl<D> Unpin for NodeApiStateImpl<D>where
D: Unpin,
impl<D> UnsafeUnpin for NodeApiStateImpl<D>where
D: UnsafeUnpin,
impl<D> UnwindSafe for NodeApiStateImpl<D>where
D: 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
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<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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§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<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>
renamed to 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.