| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Network.TypedProtocol.Documentation.Types
Synopsis
- data AgencyID
- data StateRef
- data ProtocolDescription codec = ProtocolDescription {
- protocolName :: String
- protocolDescription :: [Description]
- protocolIdentifier :: String
- protocolStates :: [(StateRef, [Description], AgencyID)]
- protocolMessages :: [MessageDescription codec]
- data MessageDescription codec = MessageDescription {
- messageName :: String
- messageDescription :: [Description]
- messagePayload :: [String]
- messageFromState :: StateRef
- messageToState :: StateRef
- messageInfo :: FieldInfo codec
- newtype Description = Description {}
Documentation
Represents agency at the term level. Used to indicate which side has agency in a particular protocol state.
Constructors
| ClientAgencyID | |
| ServerAgencyID | |
| NobodyAgencyID |
Instances
data ProtocolDescription codec Source #
Term-level representation of a typed protocol.
Constructors
| ProtocolDescription | |
Fields
| |
Instances
| ToJSON (ProtocolDescription codec) Source # | |
Defined in Network.TypedProtocol.Documentation.Types Methods toJSON :: ProtocolDescription codec -> Value # toEncoding :: ProtocolDescription codec -> Encoding # toJSONList :: [ProtocolDescription codec] -> Value # toEncodingList :: [ProtocolDescription codec] -> Encoding # omitField :: ProtocolDescription codec -> Bool # | |
| Show (ProtocolDescription codec) Source # | |
Defined in Network.TypedProtocol.Documentation.Types Methods showsPrec :: Int -> ProtocolDescription codec -> ShowS # show :: ProtocolDescription codec -> String # showList :: [ProtocolDescription codec] -> ShowS # | |
data MessageDescription codec Source #
Term-level representation of a typed protocol message.
Constructors
| MessageDescription | |
Fields
| |
Instances
| ToJSON (MessageDescription codec) Source # | |
Defined in Network.TypedProtocol.Documentation.Types Methods toJSON :: MessageDescription codec -> Value # toEncoding :: MessageDescription codec -> Encoding # toJSONList :: [MessageDescription codec] -> Value # toEncodingList :: [MessageDescription codec] -> Encoding # omitField :: MessageDescription codec -> Bool # | |
| Show (MessageDescription codec) Source # | |
Defined in Network.TypedProtocol.Documentation.Types Methods showsPrec :: Int -> MessageDescription codec -> ShowS # show :: MessageDescription codec -> String # showList :: [MessageDescription codec] -> ShowS # | |
newtype Description #
Used to add descriptions via ANN pragmas. This is necessary because
Template Haskell cannot find Haddock comments attached to constructors inside
associated types, but it can find annotations on those same constructors.
Constructors
| Description | |
Fields | |