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

Ouroboros.Network.Protocol.KeepAlive.Type

Description

The type of the keep alive protocol.

The keep alive protocol is used for

  • sending keep alive messages
  • making round trip measuremnets

Each side will run its own version of the keep alive protocol. It should be configured so that any intermediate state (such as in customer premise equipment or in a carrier grade NAT) is kept alive. This has to be a per-node configuration element as this is about the properties of that nodes network connectivity.

For making round trip measurements its in the interest of the other side to reply promptly.

Synopsis

Documentation

newtype Cookie Source #

A 16bit value used to match responses to requests.

Constructors

Cookie 

Fields

Instances

Instances details
Generic Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Associated Types

type Rep CookieTypeType #

Methods

fromCookieRep Cookie x #

toRep Cookie x → Cookie #

Show Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

showsPrecIntCookieShowS #

showCookieString #

showList ∷ [Cookie] → ShowS #

NFData Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfCookie → () #

Eq Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

(==)CookieCookieBool #

(/=)CookieCookieBool #

type Rep Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

type Rep Cookie = D1 ('MetaData "Cookie" "Ouroboros.Network.Protocol.KeepAlive.Type" "ouroboros-network-protocols-0.8.1.0-inplace" 'True) (C1 ('MetaCons "Cookie" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCookie") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))

data KeepAlive where Source #

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

Constructors

StClientKeepAlive

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

StServerKeepAlive

The server is responsible for sending response back.

StDoneKeepAlive

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

Instances

Instances details
Protocol KeepAlive Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Associated Types

data Message KeepAlive st st' Source #

data ClientHasAgency st Source #

data ServerHasAgency st Source #

data NobodyHasAgency st Source #

ShowProxy KeepAlive Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Show (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Show (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

NFData (ClientHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfClientHasAgency st → () #

NFData (NobodyHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfNobodyHasAgency st → () #

NFData (ServerHasAgency st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfServerHasAgency st → () #

Show (Message KeepAlive from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

showsPrecIntMessage KeepAlive from to → ShowS #

showMessage KeepAlive from to → String #

showList ∷ [Message KeepAlive from to] → ShowS #

NFData (Message KeepAlive from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfMessage KeepAlive from to → () #

NFData (PeerHasAgency pr st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnfPeerHasAgency pr st → () #

data ClientHasAgency (st ∷ KeepAlive) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

data Message KeepAlive (from ∷ KeepAlive) (to ∷ KeepAlive) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

data NobodyHasAgency (st ∷ KeepAlive) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

data ServerHasAgency (st ∷ KeepAlive) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type