ouroboros-network-protocols-0.8.1.0: Ouroboros Network Protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Network.Protocol.PeerSharing.Type

Synopsis

Documentation

newtype PeerSharingAmount Source #

PeerSharing amount new type.

We use Word8 to be faithful to the CDDL specification.

Constructors

PeerSharingAmount 

Fields

Instances

Instances details
Enum PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Generic PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Associated Types

type Rep PeerSharingAmountTypeType #

Num PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Integral PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Real PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Show PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Eq PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Ord PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Serialise PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

type Rep PeerSharingAmount Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

type Rep PeerSharingAmount = D1 ('MetaData "PeerSharingAmount" "Ouroboros.Network.Protocol.PeerSharing.Type" "ouroboros-network-protocols-0.8.1.0-inplace" 'True) (C1 ('MetaCons "PeerSharingAmount" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAmount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data PeerSharingResult peerAddress Source #

PeerSharing Result type.

We need a constructor for the case when the Governor wins the race versus the Mux (when initialising the peer sharing miniprotocol). This leads the Governor to lookup a peer that hasn't been registered yet.

Constructors

PeerSharingResult [peerAddress] 
PeerSharingNotRegisteredYet 

Instances

Instances details
Show peerAddress ⇒ Show (PeerSharingResult peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

showsPrecIntPeerSharingResult peerAddress → ShowS #

showPeerSharingResult peerAddress → String #

showList ∷ [PeerSharingResult peerAddress] → ShowS #

Eq peerAddress ⇒ Eq (PeerSharingResult peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

(==)PeerSharingResult peerAddress → PeerSharingResult peerAddress → Bool #

(/=)PeerSharingResult peerAddress → PeerSharingResult peerAddress → Bool #

data PeerSharing peerAddress where Source #

A kind to identify our protocol, and the types of the states in the state transition diagram of the protocol.

Constructors

StIdlePeerSharing peerAddress

The client can send a request and the server is waiting for a request.

StBusyPeerSharing peerAddress

The server is responsible for sending response back.

StDonePeerSharing peerAddress

Both the client and server are in the terminal state. They're done.

Instances

Instances details
ShowProxy (PeerSharing peer ∷ Type) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

showProxyProxy (PeerSharing peer) → String Source #

Show peerAddress ⇒ Show (PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

showsPrecIntPeerSharing peerAddress → ShowS #

showPeerSharing peerAddress → String #

showList ∷ [PeerSharing peerAddress] → ShowS #

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfClientHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfNobodyHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfServerHasAgency st → () #

Eq peerAddress ⇒ Eq (PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

(==)PeerSharing peerAddress → PeerSharing peerAddress → Bool #

(/=)PeerSharing peerAddress → PeerSharing peerAddress → Bool #

Protocol (PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Associated Types

data Message (PeerSharing peerAddress) st st' Source #

data ClientHasAgency st Source #

data ServerHasAgency st Source #

data NobodyHasAgency st Source #

Show peer ⇒ Show (Message (PeerSharing peer) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

showsPrecIntMessage (PeerSharing peer) from to → ShowS #

showMessage (PeerSharing peer) from to → String #

showList ∷ [Message (PeerSharing peer) from to] → ShowS #

NFData peerAddress ⇒ NFData (Message (PeerSharing peerAddress) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfMessage (PeerSharing peerAddress) from to → () #

NFData (PeerHasAgency pr st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

Methods

rnfPeerHasAgency pr st → () #

data ClientHasAgency (st ∷ PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data ClientHasAgency (st ∷ PeerSharing peerAddress) where
data Message (PeerSharing peerAddress) (from ∷ PeerSharing peerAddress) (to ∷ PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data Message (PeerSharing peerAddress) (from ∷ PeerSharing peerAddress) (to ∷ PeerSharing peerAddress) where
data NobodyHasAgency (st ∷ PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data NobodyHasAgency (st ∷ PeerSharing peerAddress) where
data ServerHasAgency (st ∷ PeerSharing peerAddress) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.PeerSharing.Type

data ServerHasAgency (st ∷ PeerSharing peerAddress) where