Trait paxakos::Invocation
source · [−]pub trait Invocation: Sized + 'static {
type RoundNum: RoundNum;
type CoordNum: CoordNum;
type State: State;
type Yea: Debug + Send + Sync + 'static;
type Nay: Debug + Send + Sync + 'static;
type Abstain: Debug + Send + Sync + 'static;
type Ejection: Debug + Send + Sync + 'static;
type CommunicationError: Debug + Send + Sync + 'static;
fn node_builder() -> NodeBuilderBlank<Self> { ... }
}
Expand description
A set of type arguments to invoke Paxakos with.
Idiomatic Rust code will usually have separate type parameters for every
type. This has several advantages, for instance type bounds need only be
placed on implementations which require them. However, as a generic
implementation of a fairly complex algorithm, Paxakos would require rather a
lot of individual type parameters. Therefore Paxakos foregoes the idiomatic
approach and accepts a single Invocation
argument in most places.
Required Associated Types
type CommunicationError: Debug + Send + Sync + 'static
type CommunicationError: Debug + Send + Sync + 'static
Communication error type.
Provided Methods
fn node_builder() -> NodeBuilderBlank<Self>
fn node_builder() -> NodeBuilderBlank<Self>
Constructs a blank node builder for this set of type arguments.