pub struct Processor {
pub swarm: Arc<Swarm>,
/* private fields */
}Expand description
Processor for rings-node rpc server
Fields§
§swarm: Arc<Swarm>a swarm instance
Implementations§
Source§impl Processor
impl Processor
Sourcepub async fn connect_with_did(&self, did: Did) -> Result<()>
pub async fn connect_with_did(&self, did: Did) -> Result<()>
Connect peer with web3 did. There are 3 peers: PeerA, PeerB, PeerC.
- PeerA has a connection with PeerB.
- PeerC has a connection with PeerB.
- PeerC can connect PeerA with PeerA’s web3 address.
Sourcepub async fn disconnect(&self, did: Did) -> Result<()>
pub async fn disconnect(&self, did: Did) -> Result<()>
Disconnect a peer with web3 did.
Sourcepub async fn send_message(&self, destination: Did, msg: &[u8]) -> Result<Uuid>
pub async fn send_message(&self, destination: Did, msg: &[u8]) -> Result<Uuid>
Send custom message to a did.
Sourcepub async fn send_e2e_handshake(&self, destination: Did) -> Result<Uuid>
pub async fn send_e2e_handshake(&self, destination: Did) -> Result<Uuid>
Send an E2E handshake request to a DID.
The negotiated key is the peer’s account/identity secp256k1 key, not the ephemeral session key.
Sourcepub async fn send_e2e_message(
&self,
destination: Did,
recipient_public_key: PublicKey<33>,
msg: &[u8],
) -> Result<Uuid>
pub async fn send_e2e_message( &self, destination: Did, recipient_public_key: PublicKey<33>, msg: &[u8], ) -> Result<Uuid>
Send an ElGamal-encrypted E2E message to a DID with a verified recipient key.
Returns the stream id shared by all emitted E2E stream frames.
Sourcepub async fn send_e2e_message_with_frame_len(
&self,
destination: Did,
recipient_public_key: PublicKey<33>,
msg: &[u8],
max_plaintext_frame_len: usize,
) -> Result<Uuid>
pub async fn send_e2e_message_with_frame_len( &self, destination: Did, recipient_public_key: PublicKey<33>, msg: &[u8], max_plaintext_frame_len: usize, ) -> Result<Uuid>
Send an ElGamal-encrypted E2E stream with an explicit plaintext frame size.
Returns the stream id shared by all emitted E2E stream frames.
Sourcepub fn verify_e2e_handshake_request(
&self,
requester: Did,
request: &E2eHandshakeRequest,
) -> Result<PublicKey<33>>
pub fn verify_e2e_handshake_request( &self, requester: Did, request: &E2eHandshakeRequest, ) -> Result<PublicKey<33>>
Verify an E2E handshake request and return the requester’s identity public key.
Sourcepub fn verify_e2e_handshake_response(
&self,
responder: Did,
response: &E2eHandshakeResponse,
) -> Result<PublicKey<33>>
pub fn verify_e2e_handshake_response( &self, responder: Did, response: &E2eHandshakeResponse, ) -> Result<PublicKey<33>>
Verify an E2E handshake response and return the responder’s identity public key.
Sourcepub fn e2e_stream_decryptor(
&self,
expected_sender: Did,
stream_id: E2eStreamId,
recipient_identity_key: SecretKey,
) -> Result<E2eStreamDecryptor>
pub fn e2e_stream_decryptor( &self, expected_sender: Did, stream_id: E2eStreamId, recipient_identity_key: SecretKey, ) -> Result<E2eStreamDecryptor>
Create an E2E stream decryptor with this node’s identity/signing secret key.
The ciphertext is encrypted to the DID/account key negotiated by the handshake. A session private key cannot decrypt it unless the session key is also the account key, so callers must supply the local identity key explicitly.
Sourcepub fn decrypt_e2e_stream_frame(
&self,
decryptor: &mut E2eStreamDecryptor,
frame: &E2eStreamFrame,
) -> Result<Vec<u8>>
pub fn decrypt_e2e_stream_frame( &self, decryptor: &mut E2eStreamDecryptor, frame: &E2eStreamFrame, ) -> Result<Vec<u8>>
Decrypt one E2E stream frame with an already-created stream decryptor.
Sourcepub async fn send_envelope(
&self,
destination: Did,
envelope: &Envelope,
) -> Result<Uuid>
pub async fn send_envelope( &self, destination: Did, envelope: &Envelope, ) -> Result<Uuid>
Send a namespaced Envelope to a did over the
P2P transport (the wire codec
of the extension layer). send_envelope : (Did, Envelope) → IO TxId.
Sourcepub async fn storage_check_cache(&self, entry_key: Did) -> Option<Entry>
pub async fn storage_check_cache(&self, entry_key: Did) -> Option<Entry>
check local cache of dht
Sourcepub async fn storage_fetch(&self, entry_key: Did) -> Result<()>
pub async fn storage_fetch(&self, entry_key: Did) -> Result<()>
Fetch an entry from DHT storage
Sourcepub async fn storage_store(&self, entry: Entry) -> Result<()>
pub async fn storage_store(&self, entry: Entry) -> Result<()>
Store an entry on DHT storage
Sourcepub async fn storage_append_data(
&self,
topic: &str,
data: Encoded,
) -> Result<()>
pub async fn storage_append_data( &self, topic: &str, data: Encoded, ) -> Result<()>
Append data to an entry on DHT storage
Sourcepub async fn register_service(&self, name: &str) -> Result<()>
pub async fn register_service(&self, name: &str) -> Result<()>
register service
Sourcepub async fn get_node_info(&self) -> Result<NodeInfoResponse>
pub async fn get_node_info(&self) -> Result<NodeInfoResponse>
get node info
Trait Implementations§
Source§impl HandleRpc<AcceptAnswerRequest, AcceptAnswerResponse> for Processor
impl HandleRpc<AcceptAnswerRequest, AcceptAnswerResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: AcceptAnswerRequest,
) -> Pin<Box<dyn Future<Output = Result<AcceptAnswerResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: AcceptAnswerRequest,
) -> Pin<Box<dyn Future<Output = Result<AcceptAnswerResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<AnswerOfferRequest, AnswerOfferResponse> for Processor
impl HandleRpc<AnswerOfferRequest, AnswerOfferResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: AnswerOfferRequest,
) -> Pin<Box<dyn Future<Output = Result<AnswerOfferResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: AnswerOfferRequest,
) -> Pin<Box<dyn Future<Output = Result<AnswerOfferResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<ConnectPeerViaHttpRequest, ConnectPeerViaHttpResponse> for Processor
impl HandleRpc<ConnectPeerViaHttpRequest, ConnectPeerViaHttpResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: ConnectPeerViaHttpRequest,
) -> Pin<Box<dyn Future<Output = Result<ConnectPeerViaHttpResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: ConnectPeerViaHttpRequest,
) -> Pin<Box<dyn Future<Output = Result<ConnectPeerViaHttpResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<ConnectWithDidRequest, ConnectWithDidResponse> for Processor
impl HandleRpc<ConnectWithDidRequest, ConnectWithDidResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: ConnectWithDidRequest,
) -> Pin<Box<dyn Future<Output = Result<ConnectWithDidResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: ConnectWithDidRequest,
) -> Pin<Box<dyn Future<Output = Result<ConnectWithDidResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<ConnectWithSeedRequest, ConnectWithSeedResponse> for Processor
impl HandleRpc<ConnectWithSeedRequest, ConnectWithSeedResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: ConnectWithSeedRequest,
) -> Pin<Box<dyn Future<Output = Result<ConnectWithSeedResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: ConnectWithSeedRequest,
) -> Pin<Box<dyn Future<Output = Result<ConnectWithSeedResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<CreateOfferRequest, CreateOfferResponse> for Processor
impl HandleRpc<CreateOfferRequest, CreateOfferResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: CreateOfferRequest,
) -> Pin<Box<dyn Future<Output = Result<CreateOfferResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: CreateOfferRequest,
) -> Pin<Box<dyn Future<Output = Result<CreateOfferResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<DisconnectRequest, DisconnectResponse> for Processor
impl HandleRpc<DisconnectRequest, DisconnectResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: DisconnectRequest,
) -> Pin<Box<dyn Future<Output = Result<DisconnectResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: DisconnectRequest,
) -> Pin<Box<dyn Future<Output = Result<DisconnectResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<FetchTopicMessagesRequest, FetchTopicMessagesResponse> for Processor
impl HandleRpc<FetchTopicMessagesRequest, FetchTopicMessagesResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: FetchTopicMessagesRequest,
) -> Pin<Box<dyn Future<Output = Result<FetchTopicMessagesResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: FetchTopicMessagesRequest,
) -> Pin<Box<dyn Future<Output = Result<FetchTopicMessagesResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<ListPeersRequest, ListPeersResponse> for Processor
impl HandleRpc<ListPeersRequest, ListPeersResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
_req: ListPeersRequest,
) -> Pin<Box<dyn Future<Output = Result<ListPeersResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
_req: ListPeersRequest,
) -> Pin<Box<dyn Future<Output = Result<ListPeersResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<LookupServiceRequest, LookupServiceResponse> for Processor
impl HandleRpc<LookupServiceRequest, LookupServiceResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: LookupServiceRequest,
) -> Pin<Box<dyn Future<Output = Result<LookupServiceResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: LookupServiceRequest,
) -> Pin<Box<dyn Future<Output = Result<LookupServiceResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<NodeDidRequest, NodeDidResponse> for Processor
impl HandleRpc<NodeDidRequest, NodeDidResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
_req: NodeDidRequest,
) -> Pin<Box<dyn Future<Output = Result<NodeDidResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
_req: NodeDidRequest,
) -> Pin<Box<dyn Future<Output = Result<NodeDidResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<NodeInfoRequest, NodeInfoResponse> for Processor
impl HandleRpc<NodeInfoRequest, NodeInfoResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
_req: NodeInfoRequest,
) -> Pin<Box<dyn Future<Output = Result<NodeInfoResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
_req: NodeInfoRequest,
) -> Pin<Box<dyn Future<Output = Result<NodeInfoResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<PublishMessageToTopicRequest, PublishMessageToTopicResponse> for Processor
impl HandleRpc<PublishMessageToTopicRequest, PublishMessageToTopicResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: PublishMessageToTopicRequest,
) -> Pin<Box<dyn Future<Output = Result<PublishMessageToTopicResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: PublishMessageToTopicRequest,
) -> Pin<Box<dyn Future<Output = Result<PublishMessageToTopicResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<RegisterServiceRequest, RegisterServiceResponse> for Processor
impl HandleRpc<RegisterServiceRequest, RegisterServiceResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: RegisterServiceRequest,
) -> Pin<Box<dyn Future<Output = Result<RegisterServiceResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: RegisterServiceRequest,
) -> Pin<Box<dyn Future<Output = Result<RegisterServiceResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl HandleRpc<SendBackendMessageRequest, SendBackendMessageResponse> for Processor
impl HandleRpc<SendBackendMessageRequest, SendBackendMessageResponse> for Processor
Source§fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: SendBackendMessageRequest,
) -> Pin<Box<dyn Future<Output = Result<SendBackendMessageResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_rpc<'life0, 'async_trait>(
&'life0 self,
req: SendBackendMessageRequest,
) -> Pin<Box<dyn Future<Output = Result<SendBackendMessageResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for Processor
impl !UnwindSafe for Processor
impl Freeze for Processor
impl Send for Processor
impl Sync for Processor
impl Unpin for Processor
impl UnsafeUnpin for Processor
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
impl<T> MaybeSend for T
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§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 moreSource§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 moreSource§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
Source§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
Source§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.Source§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.Source§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.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.