Struct phron_finality::network::gossip::service::ServiceInterface    
source · struct ServiceInterface<D: Data, P: Clone + Debug + Eq + Hash + Send + 'static> {
    messages_from_service: UnboundedReceiver<(D, P)>,
    messages_for_service: UnboundedSender<Command<D, P>>,
}Fields§
§messages_from_service: UnboundedReceiver<(D, P)>§messages_for_service: UnboundedSender<Command<D, P>>Trait Implementations§
source§impl<D: Data, P: Clone + Debug + Eq + Hash + Send + 'static> Network<D> for ServiceInterface<D, P>
 
impl<D: Data, P: Clone + Debug + Eq + Hash + Send + 'static> Network<D> for ServiceInterface<D, P>
type Error = Error
type PeerId = P
source§fn send_to(&mut self, data: D, peer_id: Self::PeerId) -> Result<(), Self::Error>
 
fn send_to(&mut self, data: D, peer_id: Self::PeerId) -> Result<(), Self::Error>
Attempt to send data to a peer. Might silently fail if we are not connected to them.
source§fn send_to_random(
    &mut self,
    data: D,
    peer_ids: HashSet<Self::PeerId>
) -> Result<(), Self::Error>
 
fn send_to_random( &mut self, data: D, peer_ids: HashSet<Self::PeerId> ) -> Result<(), Self::Error>
Send data to a random peer, preferably from a list. It should send the data to a randomly
chosen peer from the provided list, but if it cannot (e.g. because it’s not connected) it
will send to a random available peer. No guarantees any peer gets it even if no errors are
returned, retry appropriately.
source§fn broadcast(&mut self, data: D) -> Result<(), Self::Error>
 
fn broadcast(&mut self, data: D) -> Result<(), Self::Error>
Broadcast data to all directly connected peers. Network-wide broadcasts have to be
implemented on top of this abstraction. Note that there might be no currently connected
peers, so there are no guarantees any single call sends anything even if no errors are
returned, retry appropriately.
source§fn next<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<(D, Self::PeerId), Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
 
fn next<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<(D, Self::PeerId), Self::Error>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
Receive some data from the network, including information about who sent it.
This method’s implementation must be cancellation safe.
Auto Trait Implementations§
impl<D, P> !RefUnwindSafe for ServiceInterface<D, P>
impl<D, P> Send for ServiceInterface<D, P>
impl<D, P> Sync for ServiceInterface<D, P>
impl<D, P> Unpin for ServiceInterface<D, P>
impl<D, P> !UnwindSafe for ServiceInterface<D, P>
Blanket Implementations§
§impl<T> AnySync for T
 
impl<T> AnySync for T
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
§impl<T> CheckedConversion for T
 
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
 
fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
 
fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,
§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>
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 more§impl<T> IsType<T> for T
 
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
 
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
 
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
 
fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
§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 more§impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
 
impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
 
fn unchecked_into(self) -> T
The counterpart to 
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
 
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
 
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of 
T.