pub trait NodeImplementation<TYPES: NodeType>:
Send
+ Sync
+ Clone
+ Eq
+ Hash
+ 'static
+ Serialize
+ for<'de> Deserialize<'de> {
type Network: ConnectedNetwork<TYPES::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::SignatureKey>
type Network: ConnectedNetwork<TYPES::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.