ouroboros-network-protocols
Safe HaskellNone
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
NFData Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnf :: Cookie -> () #

Generic Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Associated Types

type Rep Cookie 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

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

Methods

from :: Cookie -> Rep Cookie x #

to :: Rep Cookie x -> Cookie #

Show Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Eq Cookie Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

(==) :: Cookie -> Cookie -> Bool #

(/=) :: Cookie -> Cookie -> Bool #

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.12.0.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

StClient :: KeepAlive

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

StServer :: KeepAlive

The server is responsible for sending response back.

StDone :: KeepAlive

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

ShowProxy KeepAlive Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

StateTokenI 'StClient Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

StateTokenI 'StDone Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

StateTokenI 'StServer Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

NFData (Message KeepAlive from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

rnf :: Message KeepAlive from to -> () #

Show (Message KeepAlive from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

Methods

showsPrec :: Int -> Message KeepAlive from to -> ShowS #

show :: Message KeepAlive from to -> String #

showList :: [Message KeepAlive from to] -> ShowS #

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

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

type StateToken Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

type StateAgency 'StClient Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

type StateAgency 'StDone Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

type StateAgency 'StServer Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type

data SingKeepAlive (k :: KeepAlive) where Source #

Singletons for KeepAlive state types.

Instances

Instances details
Show (SingKeepAlive st) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.KeepAlive.Type