pub trait ChainedSplit<Id: PartyId> {
type Protocol: ChainedProtocol<Id> + ChainedMarker;
type EntryPoint: EntryPoint<Id, Protocol = <Self::Protocol as ChainedProtocol<Id>>::Protocol1>;
// Required method
fn make_entry_point1(
self,
) -> (Self::EntryPoint, impl ChainedJoin<Id, Protocol = Self::Protocol>);
}
Expand description
A trait defining how the entry point for the whole chained protocol will be split into the entry point for the first protocol, and a piece of data that, along with the first protocol’s result, will be used to create the entry point for the second protocol.
Required Associated Types§
Sourcetype Protocol: ChainedProtocol<Id> + ChainedMarker
type Protocol: ChainedProtocol<Id> + ChainedMarker
The chained protocol this trait belongs to.
Sourcetype EntryPoint: EntryPoint<Id, Protocol = <Self::Protocol as ChainedProtocol<Id>>::Protocol1>
type EntryPoint: EntryPoint<Id, Protocol = <Self::Protocol as ChainedProtocol<Id>>::Protocol1>
The first protocol’s entry point.
Required Methods§
Sourcefn make_entry_point1(
self,
) -> (Self::EntryPoint, impl ChainedJoin<Id, Protocol = Self::Protocol>)
fn make_entry_point1( self, ) -> (Self::EntryPoint, impl ChainedJoin<Id, Protocol = Self::Protocol>)
Creates the first protocol’s entry point and the data for creating the second entry point.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.