Trait ChainedSplit

Source
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§

Source

type Protocol: ChainedProtocol<Id> + ChainedMarker

The chained protocol this trait belongs to.

Source

type EntryPoint: EntryPoint<Id, Protocol = <Self::Protocol as ChainedProtocol<Id>>::Protocol1>

The first protocol’s entry point.

Required Methods§

Source

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.

Implementors§