pub struct CompositeDelegate<I, A, M = DefaultMergeDelegate<I, A>, R = NoopReconnectDelegate<I, A>, T = LpeTransfromDelegate<I, A>> { /* private fields */ }Expand description
Implementations§
Source§impl<I, A> CompositeDelegate<I, A>
impl<I, A> CompositeDelegate<I, A>
Source§impl<I, A, M, R, T> CompositeDelegate<I, A, M, R, T>where
M: MergeDelegate<Id = I, Address = A>,
impl<I, A, M, R, T> CompositeDelegate<I, A, M, R, T>where
M: MergeDelegate<Id = I, Address = A>,
Sourcepub fn with_merge_delegate<NM>(
self,
merge: NM,
) -> CompositeDelegate<I, A, NM, R, T>
pub fn with_merge_delegate<NM>( self, merge: NM, ) -> CompositeDelegate<I, A, NM, R, T>
Set the MergeDelegate for the CompositeDelegate.
Source§impl<I, A, M, R, T> CompositeDelegate<I, A, M, R, T>
impl<I, A, M, R, T> CompositeDelegate<I, A, M, R, T>
Sourcepub fn with_reconnect_delegate<NR>(
self,
reconnect: NR,
) -> CompositeDelegate<I, A, M, NR, T>
pub fn with_reconnect_delegate<NR>( self, reconnect: NR, ) -> CompositeDelegate<I, A, M, NR, T>
Set the ReconnectDelegate for the CompositeDelegate.
Source§impl<I, A, M, R, T> CompositeDelegate<I, A, M, R, T>
impl<I, A, M, R, T> CompositeDelegate<I, A, M, R, T>
Sourcepub fn with_transform_delegate<NT>(
self,
transform: NT,
) -> CompositeDelegate<I, A, M, R, NT>
pub fn with_transform_delegate<NT>( self, transform: NT, ) -> CompositeDelegate<I, A, M, R, NT>
Set the TransformDelegate for the CompositeDelegate.
Trait Implementations§
Source§impl<I, A> Default for CompositeDelegate<I, A>
impl<I, A> Default for CompositeDelegate<I, A>
Source§impl<I, A, M, R, T> Delegate for CompositeDelegate<I, A, M, R, T>where
I: Id,
A: CheapClone + Send + Sync + 'static,
M: MergeDelegate<Id = I, Address = A>,
R: ReconnectDelegate<Id = I, Address = A>,
T: TransformDelegate<Id = I, Address = A>,
impl<I, A, M, R, T> Delegate for CompositeDelegate<I, A, M, R, T>where
I: Id,
A: CheapClone + Send + Sync + 'static,
M: MergeDelegate<Id = I, Address = A>,
R: ReconnectDelegate<Id = I, Address = A>,
T: TransformDelegate<Id = I, Address = A>,
Source§impl<I, A, M, R, T> MergeDelegate for CompositeDelegate<I, A, M, R, T>where
I: Id,
A: CheapClone + Send + Sync + 'static,
M: MergeDelegate<Id = I, Address = A>,
R: Send + Sync + 'static,
T: Send + Sync + 'static,
impl<I, A, M, R, T> MergeDelegate for CompositeDelegate<I, A, M, R, T>where
I: Id,
A: CheapClone + Send + Sync + 'static,
M: MergeDelegate<Id = I, Address = A>,
R: Send + Sync + 'static,
T: Send + Sync + 'static,
Source§type Error = <M as MergeDelegate>::Error
type Error = <M as MergeDelegate>::Error
The error type of the delegate
Source§type Id = <M as MergeDelegate>::Id
type Id = <M as MergeDelegate>::Id
The id type of the delegate
Source§type Address = <M as MergeDelegate>::Address
type Address = <M as MergeDelegate>::Address
The address type of the delegate
Source§impl<I, A, M, R, T> ReconnectDelegate for CompositeDelegate<I, A, M, R, T>where
I: Id,
A: CheapClone + Send + Sync + 'static,
M: Send + Sync + 'static,
R: ReconnectDelegate<Id = I, Address = A>,
T: Send + Sync + 'static,
impl<I, A, M, R, T> ReconnectDelegate for CompositeDelegate<I, A, M, R, T>where
I: Id,
A: CheapClone + Send + Sync + 'static,
M: Send + Sync + 'static,
R: ReconnectDelegate<Id = I, Address = A>,
T: Send + Sync + 'static,
Source§type Id = <R as ReconnectDelegate>::Id
type Id = <R as ReconnectDelegate>::Id
The id type of the delegate
Source§type Address = <R as ReconnectDelegate>::Address
type Address = <R as ReconnectDelegate>::Address
The address type of the delegate
Source§impl<I, A, M, R, T> TransformDelegate for CompositeDelegate<I, A, M, R, T>where
I: Id,
A: CheapClone + Send + Sync + 'static,
M: Send + Sync + 'static,
R: Send + Sync + 'static,
T: TransformDelegate<Id = I, Address = A>,
impl<I, A, M, R, T> TransformDelegate for CompositeDelegate<I, A, M, R, T>where
I: Id,
A: CheapClone + Send + Sync + 'static,
M: Send + Sync + 'static,
R: Send + Sync + 'static,
T: TransformDelegate<Id = I, Address = A>,
Source§type Error = <T as TransformDelegate>::Error
type Error = <T as TransformDelegate>::Error
The error type for the transformation.
Source§type Id = <T as TransformDelegate>::Id
type Id = <T as TransformDelegate>::Id
The Id type.
Source§type Address = <T as TransformDelegate>::Address
type Address = <T as TransformDelegate>::Address
The Address type.
Source§fn encode_filter(filter: &Filter<Self::Id>) -> Result<Bytes, Self::Error>
fn encode_filter(filter: &Filter<Self::Id>) -> Result<Bytes, Self::Error>
Encodes the filter into bytes.
Source§fn decode_filter(bytes: &[u8]) -> Result<(usize, Filter<Self::Id>), Self::Error>
fn decode_filter(bytes: &[u8]) -> Result<(usize, Filter<Self::Id>), Self::Error>
Decodes the filter from the given bytes, returning the number of bytes consumed and the filter.
Source§fn node_encoded_len(node: &Node<Self::Id, Self::Address>) -> usize
fn node_encoded_len(node: &Node<Self::Id, Self::Address>) -> usize
Returns the encoded length of the node.
Source§fn encode_node(
node: &Node<Self::Id, Self::Address>,
dst: &mut [u8],
) -> Result<usize, Self::Error>
fn encode_node( node: &Node<Self::Id, Self::Address>, dst: &mut [u8], ) -> Result<usize, Self::Error>
Encodes the node into the given buffer, returning the number of bytes written.
Source§fn decode_node(
bytes: impl AsRef<[u8]>,
) -> Result<(usize, Node<Self::Id, Self::Address>), Self::Error>
fn decode_node( bytes: impl AsRef<[u8]>, ) -> Result<(usize, Node<Self::Id, Self::Address>), Self::Error>
Decodes
Node from the given bytes, returning the number of bytes consumed and the node.Source§fn id_encoded_len(id: &Self::Id) -> usize
fn id_encoded_len(id: &Self::Id) -> usize
Returns the encoded length of the id.
Source§fn encode_id(id: &Self::Id, dst: &mut [u8]) -> Result<usize, Self::Error>
fn encode_id(id: &Self::Id, dst: &mut [u8]) -> Result<usize, Self::Error>
Encodes the id into the given buffer, returning the number of bytes written.
Source§fn decode_id(bytes: &[u8]) -> Result<(usize, Self::Id), Self::Error>
fn decode_id(bytes: &[u8]) -> Result<(usize, Self::Id), Self::Error>
Decodes the id from the given bytes, returning the number of bytes consumed and the id.
Source§fn address_encoded_len(address: &Self::Address) -> usize
fn address_encoded_len(address: &Self::Address) -> usize
Returns the encoded length of the address.
Source§fn encode_address(
address: &Self::Address,
dst: &mut [u8],
) -> Result<usize, Self::Error>
fn encode_address( address: &Self::Address, dst: &mut [u8], ) -> Result<usize, Self::Error>
Encodes the address into the given buffer, returning the number of bytes written.
Source§fn decode_address(bytes: &[u8]) -> Result<(usize, Self::Address), Self::Error>
fn decode_address(bytes: &[u8]) -> Result<(usize, Self::Address), Self::Error>
Decodes the address from the given bytes, returning the number of bytes consumed and the address.
Source§fn coordinate_encoded_len(coordinate: &Coordinate) -> usize
fn coordinate_encoded_len(coordinate: &Coordinate) -> usize
Encoded length of the coordinate.
Source§fn encode_coordinate(
coordinate: &Coordinate,
dst: &mut [u8],
) -> Result<usize, Self::Error>
fn encode_coordinate( coordinate: &Coordinate, dst: &mut [u8], ) -> Result<usize, Self::Error>
Encodes the coordinate into the given buffer, returning the number of bytes written.
Source§fn decode_coordinate(bytes: &[u8]) -> Result<(usize, Coordinate), Self::Error>
fn decode_coordinate(bytes: &[u8]) -> Result<(usize, Coordinate), Self::Error>
Decodes the coordinate from the given bytes, returning the number of bytes consumed and the coordinate.
Encoded length of the tags.
Encodes the tags into the given buffer, returning the number of bytes written.
Decodes the tags from the given bytes, returning the number of bytes consumed and the tags.
Source§fn message_encoded_len(msg: impl AsMessageRef<Self::Id, Self::Address>) -> usize
fn message_encoded_len(msg: impl AsMessageRef<Self::Id, Self::Address>) -> usize
Encoded length of the message.
Source§fn encode_message(
msg: impl AsMessageRef<Self::Id, Self::Address>,
dst: impl AsMut<[u8]>,
) -> Result<usize, Self::Error>
fn encode_message( msg: impl AsMessageRef<Self::Id, Self::Address>, dst: impl AsMut<[u8]>, ) -> Result<usize, Self::Error>
Encodes the message into the given buffer, returning the number of bytes written. Read more
Source§fn decode_message(
ty: MessageType,
bytes: impl AsRef<[u8]>,
) -> Result<(usize, SerfMessage<Self::Id, Self::Address>), Self::Error>
fn decode_message( ty: MessageType, bytes: impl AsRef<[u8]>, ) -> Result<(usize, SerfMessage<Self::Id, Self::Address>), Self::Error>
Decodes the message from the given bytes, returning the number of bytes consumed and the message.
Auto Trait Implementations§
impl<I, A, M, R, T> Freeze for CompositeDelegate<I, A, M, R, T>
impl<I, A, M, R, T> RefUnwindSafe for CompositeDelegate<I, A, M, R, T>
impl<I, A, M, R, T> Send for CompositeDelegate<I, A, M, R, T>
impl<I, A, M, R, T> Sync for CompositeDelegate<I, A, M, R, T>
impl<I, A, M, R, T> Unpin for CompositeDelegate<I, A, M, R, T>
impl<I, A, M, R, T> UnwindSafe for CompositeDelegate<I, A, M, R, T>
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<K, Q> Comparable<Q> for K
impl<K, Q> Comparable<Q> for K
Source§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
Source§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
Compare self to
key and return true if they are equal.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> 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>
Returns the layout of the type.
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
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.