Trait hotshot::traits::node_implementation::NodeImplementation
source · pub trait NodeImplementation<TYPES>:
Send
+ Sync
+ Clone
+ Eq
+ Hash
+ 'static
+ Serialize
+ for<'de> Deserialize<'de>where
TYPES: NodeType,{
type Network: ConnectedNetwork<<TYPES as NodeType>::SignatureKey>;
type Storage: Storage<TYPES>;
type AuctionResultsProvider: AuctionResultsProvider<TYPES>;
}
Expand description
Node implementation aggregate trait
This trait exists to collect multiple behavior implementations into one type, to allow
HotShot
to avoid annoying numbers of type arguments and type patching.
It is recommended you implement this trait on a zero sized type, as HotShot
does not actually
store or keep a reference to any value implementing this trait.
Required Associated Types§
sourcetype Network: ConnectedNetwork<<TYPES as NodeType>::SignatureKey>
type Network: ConnectedNetwork<<TYPES as NodeType>::SignatureKey>
The underlying network type
sourcetype AuctionResultsProvider: AuctionResultsProvider<TYPES>
type AuctionResultsProvider: AuctionResultsProvider<TYPES>
The auction results type for Solver interactions
Object Safety§
This trait is not object safe.