Struct sc_service::config::OutgoingResponse
source · pub struct OutgoingResponse {
pub result: Result<Vec<u8, Global>, ()>,
pub reputation_changes: Vec<ReputationChange, Global>,
pub sent_feedback: Option<Sender<()>>,
}
Expand description
Response for an incoming request to be send by a request protocol handler.
Fields§
§result: Result<Vec<u8, Global>, ()>
The payload of the response.
Err(())
if none is available e.g. due an error while handling the request.
reputation_changes: Vec<ReputationChange, Global>
Reputation changes accrued while handling the request. To be applied to the reputation of the peer sending the request.
sent_feedback: Option<Sender<()>>
If provided, the oneshot::Sender
will be notified when the request has been sent to the
peer.
Note: Operating systems typically maintain a buffer of a few dozen kilobytes of outgoing data for each TCP socket, and it is not possible for a user application to inspect this buffer. This channel here is not actually notified when the response has been fully sent out, but rather when it has fully been written to the buffer managed by the operating system.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for OutgoingResponse
impl Send for OutgoingResponse
impl Sync for OutgoingResponse
impl Unpin for OutgoingResponse
impl !UnwindSafe for OutgoingResponse
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion 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> 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, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.