pub struct WrappedNodeServer { /* private fields */ }
Expand description
WrappedNodeServer
enables us to quickly add customizations to
the pure passthru of the cln_grpc::Server
. In particular it
implements the guarding against RPC commands that’d require a
signature if no HSM is attached (that’d lock up our node) and
providing RouteHints for disconnected and zeroconf channels too.
Implementations§
Source§impl WrappedNodeServer
impl WrappedNodeServer
pub async fn new(node_server: PluginNodeServer) -> Result<Self>
Trait Implementations§
Source§impl Clone for WrappedNodeServer
impl Clone for WrappedNodeServer
Source§fn clone(&self) -> WrappedNodeServer
fn clone(&self) -> WrappedNodeServer
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Node for WrappedNodeServer
impl Node for WrappedNodeServer
fn invoice<'life0, 'async_trait>(
&'life0 self,
req: Request<InvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<InvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn getinfo<'life0, 'async_trait>(
&'life0 self,
r: Request<GetinfoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetinfoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_offers<'life0, 'async_trait>(
&'life0 self,
r: Request<ListoffersRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListoffersResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn offer<'life0, 'async_trait>(
&'life0 self,
r: Request<OfferRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<OfferResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn bkpr_list_income<'life0, 'async_trait>(
&'life0 self,
r: Request<BkprlistincomeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<BkprlistincomeResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_peers<'life0, 'async_trait>(
&'life0 self,
r: Request<ListpeersRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListpeersResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_peer_channels<'life0, 'async_trait>(
&'life0 self,
r: Request<ListpeerchannelsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListpeerchannelsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_closed_channels<'life0, 'async_trait>(
&'life0 self,
r: Request<ListclosedchannelsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListclosedchannelsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_funds<'life0, 'async_trait>(
&'life0 self,
r: Request<ListfundsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListfundsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn decode_pay<'life0, 'async_trait>(
&'life0 self,
r: Request<DecodepayRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DecodepayResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn decode<'life0, 'async_trait>(
&'life0 self,
r: Request<DecodeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DecodeResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sign_invoice<'life0, 'async_trait>(
&'life0 self,
r: Request<SigninvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SigninvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pre_approve_keysend<'life0, 'async_trait>(
&'life0 self,
r: Request<PreapprovekeysendRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PreapprovekeysendResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pre_approve_invoice<'life0, 'async_trait>(
&'life0 self,
r: Request<PreapproveinvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PreapproveinvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_custom_msg<'life0, 'async_trait>(
&'life0 self,
r: Request<SendcustommsgRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendcustommsgResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_pay<'life0, 'async_trait>(
&'life0 self,
r: Request<SendpayRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendpayResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_channels<'life0, 'async_trait>(
&'life0 self,
r: Request<ListchannelsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListchannelsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_gossip<'life0, 'async_trait>(
&'life0 self,
r: Request<AddgossipRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<AddgossipResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn auto_clean_invoice<'life0, 'async_trait>(
&'life0 self,
r: Request<AutocleaninvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<AutocleaninvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn check_message<'life0, 'async_trait>(
&'life0 self,
r: Request<CheckmessageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CheckmessageResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 self,
r: Request<CloseRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CloseResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect_peer<'life0, 'async_trait>(
&'life0 self,
r: Request<ConnectRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ConnectResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_invoice<'life0, 'async_trait>(
&'life0 self,
r: Request<CreateinvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateinvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn datastore<'life0, 'async_trait>(
&'life0 self,
r: Request<DatastoreRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DatastoreResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_onion<'life0, 'async_trait>(
&'life0 self,
r: Request<CreateonionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateonionResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn del_datastore<'life0, 'async_trait>(
&'life0 self,
r: Request<DeldatastoreRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeldatastoreResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn del_expired_invoice<'life0, 'async_trait>(
&'life0 self,
r: Request<DelexpiredinvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DelexpiredinvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn del_invoice<'life0, 'async_trait>(
&'life0 self,
r: Request<DelinvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DelinvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_datastore<'life0, 'async_trait>(
&'life0 self,
r: Request<ListdatastoreRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListdatastoreResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_invoices<'life0, 'async_trait>(
&'life0 self,
r: Request<ListinvoicesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListinvoicesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_onion<'life0, 'async_trait>(
&'life0 self,
r: Request<SendonionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendonionResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_send_pays<'life0, 'async_trait>(
&'life0 self,
r: Request<ListsendpaysRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListsendpaysResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_transactions<'life0, 'async_trait>(
&'life0 self,
r: Request<ListtransactionsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListtransactionsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pay<'life0, 'async_trait>(
&'life0 self,
r: Request<PayRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PayResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_nodes<'life0, 'async_trait>(
&'life0 self,
r: Request<ListnodesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListnodesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn wait_any_invoice<'life0, 'async_trait>(
&'life0 self,
r: Request<WaitanyinvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WaitanyinvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn wait_invoice<'life0, 'async_trait>(
&'life0 self,
r: Request<WaitinvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WaitinvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn wait_send_pay<'life0, 'async_trait>(
&'life0 self,
r: Request<WaitsendpayRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WaitsendpayResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn wait_block_height<'life0, 'async_trait>(
&'life0 self,
r: Request<WaitblockheightRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WaitblockheightResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn new_addr<'life0, 'async_trait>(
&'life0 self,
r: Request<NewaddrRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<NewaddrResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn withdraw<'life0, 'async_trait>(
&'life0 self,
r: Request<WithdrawRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WithdrawResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn key_send<'life0, 'async_trait>(
&'life0 self,
r: Request<KeysendRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<KeysendResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fund_psbt<'life0, 'async_trait>(
&'life0 self,
r: Request<FundpsbtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FundpsbtResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_psbt<'life0, 'async_trait>(
&'life0 self,
r: Request<SendpsbtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SendpsbtResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sign_psbt<'life0, 'async_trait>(
&'life0 self,
r: Request<SignpsbtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SignpsbtResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn utxo_psbt<'life0, 'async_trait>(
&'life0 self,
r: Request<UtxopsbtRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<UtxopsbtResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn tx_discard<'life0, 'async_trait>(
&'life0 self,
r: Request<TxdiscardRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TxdiscardResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn tx_prepare<'life0, 'async_trait>(
&'life0 self,
r: Request<TxprepareRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TxprepareResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn tx_send<'life0, 'async_trait>(
&'life0 self,
r: Request<TxsendRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TxsendResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn disconnect<'life0, 'async_trait>(
&'life0 self,
r: Request<DisconnectRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DisconnectResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn feerates<'life0, 'async_trait>(
&'life0 self,
r: Request<FeeratesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FeeratesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fund_channel<'life0, 'async_trait>(
&'life0 self,
r: Request<FundchannelRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FundchannelResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_route<'life0, 'async_trait>(
&'life0 self,
r: Request<GetrouteRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetrouteResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_forwards<'life0, 'async_trait>(
&'life0 self,
r: Request<ListforwardsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListforwardsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_pays<'life0, 'async_trait>(
&'life0 self,
r: Request<ListpaysRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListpaysResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ping<'life0, 'async_trait>(
&'life0 self,
r: Request<PingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_channel<'life0, 'async_trait>(
&'life0 self,
r: Request<SetchannelRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SetchannelResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sign_message<'life0, 'async_trait>(
&'life0 self,
r: Request<SignmessageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SignmessageResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stop<'life0, 'async_trait>(
&'life0 self,
r: Request<StopRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn static_backup<'life0, 'async_trait>(
&'life0 self,
r: Request<StaticbackupRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StaticbackupResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_htlcs<'life0, 'async_trait>(
&'life0 self,
r: Request<ListhtlcsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListhtlcsResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn datastore_usage<'life0, 'async_trait>(
&'life0 self,
r: Request<DatastoreusageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DatastoreusageResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_invoice<'life0, 'async_trait>(
&'life0 self,
request: Request<FetchinvoiceRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FetchinvoiceResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn wait<'life0, 'async_trait>(
&'life0 self,
request: Request<WaitRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WaitResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl Node for WrappedNodeServer
impl Node for WrappedNodeServer
Source§type StreamCustommsgStream = ReceiverStream<Result<Custommsg, Status>>
type StreamCustommsgStream = ReceiverStream<Result<Custommsg, Status>>
Server streaming response type for the StreamCustommsg method.
Source§type StreamHsmRequestsStream = ReceiverStream<Result<HsmRequest, Status>>
type StreamHsmRequestsStream = ReceiverStream<Result<HsmRequest, Status>>
Server streaming response type for the StreamHsmRequests method.
Source§type StreamLogStream = ReceiverStream<Result<LogEntry, Status>>
type StreamLogStream = ReceiverStream<Result<LogEntry, Status>>
Server streaming response type for the StreamLog method.
Source§type StreamIncomingStream = ReceiverStream<Result<IncomingPayment, Status>>
type StreamIncomingStream = ReceiverStream<Result<IncomingPayment, Status>>
Server streaming response type for the StreamIncoming method.
Source§fn stream_incoming<'life0, 'async_trait>(
&'life0 self,
req: Request<StreamIncomingFilter>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamIncomingStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_incoming<'life0, 'async_trait>(
&'life0 self,
req: Request<StreamIncomingFilter>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamIncomingStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stream incoming payments Read more
fn respond_hsm_request<'life0, 'async_trait>(
&'life0 self,
req: Request<HsmResponse>,
) -> Pin<Box<dyn Future<Output = Result<Response<Empty>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn stream_hsm_requests<'life0, 'async_trait>(
&'life0 self,
req: Request<Empty>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamHsmRequestsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_hsm_requests<'life0, 'async_trait>(
&'life0 self,
req: Request<Empty>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamHsmRequestsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
////////////////////////////// HSM Messages //////////////////////// Read more
Source§fn stream_log<'life0, 'async_trait>(
&'life0 self,
req: Request<StreamLogRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamLogStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_log<'life0, 'async_trait>(
&'life0 self,
req: Request<StreamLogRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamLogStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stream the logs as they are produced by the node Read more
Source§fn stream_custommsg<'life0, 'async_trait>(
&'life0 self,
req: Request<StreamCustommsgRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamCustommsgStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_custommsg<'life0, 'async_trait>(
&'life0 self,
req: Request<StreamCustommsgRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::StreamCustommsgStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Listen for incoming
custommsg
messages from peers. Read morefn configure<'life0, 'async_trait>(
&'life0 self,
request: Request<GlConfig>,
) -> Pin<Box<dyn Future<Output = Result<Response<Empty>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn trampoline_pay<'life0, 'async_trait>(
&'life0 self,
request: Request<TrampolinePayRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TrampolinePayResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for WrappedNodeServer
impl !RefUnwindSafe for WrappedNodeServer
impl Send for WrappedNodeServer
impl Sync for WrappedNodeServer
impl Unpin for WrappedNodeServer
impl !UnwindSafe for WrappedNodeServer
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for T
impl<T> Downcast for T
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>
Converts
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>
Converts
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>
Wrap the input message
T
in a tonic::Request