Module hotshot::traits::implementations
source · Expand description
Module for publicly usable implementations of the traits
Structs§
- CDN-specific metrics
- A communication channel with 2 networks, where we can fall back to the slower network if the primary fails
- Configuration for Libp2p’s Gossipsub
- We encapsulate keys here to help readability.
- Libp2p-specific metrics
- Networking implementation that uses libp2p generic over
M
which is the message type - Shared state for in-memory mock networking.
- In memory only network simulator.
- The production run definition for the Push CDN. Uses the real protocols and a Redis discovery client.
- A communication channel to the Push CDN, which is a collection of brokers and a marshal that helps organize them all. Is generic over both the type of key and the network protocol.
- Configuration for Libp2p’s request-response
- The testing run definition for the Push CDN. Uses the real protocols, but with an embedded discovery client.
- Wrapper for the tuple of
PushCdnNetwork
andLibp2pNetwork
We need this so we can implTestableNetworkingImplementation
on the tuple - A wrapped
SignatureKey
. We need to implement the Push CDN’sSignatureScheme
trait in order to sign and verify messages to/from the CDN.
Enums§
- The enum for the topics we can subscribe to in the Push CDN
Functions§
- Derive a Libp2p keypair from a given private key
- Parse a Libp2p Multiaddr from a string. The input string should be in the format
hostname:port
orip:port
. This function derives aMultiaddr
from the input string. - Derive a Libp2p Peer ID from a given private key
Type Aliases§
- Type alias for a shared collection of peerid, multiaddrs