| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.Protocol.ObjectDiffusion.Type
Description
The type of the object diffusion protocol.
This is used to diffuse generic objects between nodes.
Synopsis
- data ObjectDiffusion objectId object where
- StInit :: forall objectId object. ObjectDiffusion objectId object
- StIdle :: forall objectId object. ObjectDiffusion objectId object
- StObjectIds :: forall objectId object. StBlockingStyle -> ObjectDiffusion objectId object
- StObjects :: forall objectId object. ObjectDiffusion objectId object
- StDone :: forall objectId object. ObjectDiffusion objectId object
- data family Message ps (st :: ps) (st' :: ps)
- data SingObjectDiffusion (k :: ObjectDiffusion objectId object) where
- SingInit :: forall {objectId} {object}. SingObjectDiffusion ('StInit :: ObjectDiffusion objectId object)
- SingIdle :: forall {objectId} {object}. SingObjectDiffusion ('StIdle :: ObjectDiffusion objectId object)
- SingObjectIds :: forall {objectId} {object} (stBlocking :: StBlockingStyle). SingBlockingStyle stBlocking -> SingObjectDiffusion ('StObjectIds stBlocking :: ObjectDiffusion objectId object)
- SingObjects :: forall {objectId} {object}. SingObjectDiffusion ('StObjects :: ObjectDiffusion objectId object)
- SingDone :: forall {objectId} {object}. SingObjectDiffusion ('StDone :: ObjectDiffusion objectId object)
- newtype NumObjectIdsAck = NumObjectIdsAck {}
- newtype NumObjectIdsReq = NumObjectIdsReq {}
- newtype NumObjectsReq = NumObjectsReq {}
- newtype NumObjectsUnacknowledged = NumObjectsUnacknowledged {}
- data BlockingReplyList (blocking :: StBlockingStyle) a where
- BlockingReply :: forall a. NonEmpty a -> BlockingReplyList 'StBlocking a
- NonBlockingReply :: forall a. [a] -> BlockingReplyList 'StNonBlocking a
- data SingBlockingStyle (k :: StBlockingStyle) where
- newtype SizeInBytes = SizeInBytes {}
- data StBlockingStyle where
Documentation
data ObjectDiffusion objectId object where Source #
The kind of the object diffusion protocol, and the types of the states in the protocol state machine.
We describe this protocol using indiscriminately the labels "inbound"/"client" for the peer that is receiving objects, and "outbound"/"server" for the one sending them.
Constructors
| StInit :: forall objectId object. ObjectDiffusion objectId object | Initial protocol message. |
| StIdle :: forall objectId object. ObjectDiffusion objectId object | The inbound node has agency; it can either terminate, ask for object identifiers or ask for objects. There is no timeout in this state. |
| StObjectIds :: forall objectId object. StBlockingStyle -> ObjectDiffusion objectId object | The outbound node has agency; it must reply with a list of object identifiers that it wishes to submit. There are two sub-states for this, for blocking and non-blocking cases. |
| StObjects :: forall objectId object. ObjectDiffusion objectId object | The outbound node has agency; it must reply with the list of objects. |
| StDone :: forall objectId object. ObjectDiffusion objectId object | Nobody has agency; termination state. |
Instances
| (ShowProxy objectId, ShowProxy object) => ShowProxy (ObjectDiffusion objectId object :: Type) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods showProxy :: Proxy (ObjectDiffusion objectId object) -> String | |||||
| Protocol (ObjectDiffusion objectId object) Source # | There are some constraints of the protocol that are not captured in the types of the messages, but are documented with the messages. Violation of these constraints is also a protocol error. The constraints are intended to ensure that implementations are able to work in bounded space. | ||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Associated Types
| |||||
| ShowProxy ('StIdle :: ObjectDiffusion objectId object) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods showProxy :: Proxy ('StIdle :: ObjectDiffusion objectId object) -> String | |||||
| StateTokenI ('StDone :: ObjectDiffusion objectId object) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods stateToken :: StateToken ('StDone :: ObjectDiffusion objectId object) # | |||||
| StateTokenI ('StIdle :: ObjectDiffusion objectId object) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods stateToken :: StateToken ('StIdle :: ObjectDiffusion objectId object) # | |||||
| StateTokenI ('StInit :: ObjectDiffusion objectId object) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods stateToken :: StateToken ('StInit :: ObjectDiffusion objectId object) # | |||||
| StateTokenI ('StObjects :: ObjectDiffusion objectId object) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods stateToken :: StateToken ('StObjects :: ObjectDiffusion objectId object) # | |||||
| SingI stBlocking => StateTokenI ('StObjectIds stBlocking :: ObjectDiffusion objectId object) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods stateToken :: StateToken ('StObjectIds stBlocking :: ObjectDiffusion objectId object) # | |||||
| (NFData objectId, NFData object) => NFData (Message (ObjectDiffusion objectId object) from to) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods rnf :: Message (ObjectDiffusion objectId object) from to -> () # | |||||
| (Show objectId, Show object) => Show (Message (ObjectDiffusion objectId object) from to) Source # | |||||
| (Eq objectId, Eq object) => Eq (Message (ObjectDiffusion objectId object) from to) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (==) :: Message (ObjectDiffusion objectId object) from to -> Message (ObjectDiffusion objectId object) from to -> Bool # (/=) :: Message (ObjectDiffusion objectId object) from to -> Message (ObjectDiffusion objectId object) from to -> Bool # | |||||
| data Message (ObjectDiffusion objectId object) (from :: ObjectDiffusion objectId object) (to :: ObjectDiffusion objectId object) Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type data Message (ObjectDiffusion objectId object) (from :: ObjectDiffusion objectId object) (to :: ObjectDiffusion objectId object) where
| |||||
| type StateToken Source # | |||||
| type StateAgency ('StDone :: ObjectDiffusion objectId object) Source # | |||||
| type StateAgency ('StIdle :: ObjectDiffusion objectId object) Source # | |||||
| type StateAgency ('StInit :: ObjectDiffusion objectId object) Source # | |||||
| type StateAgency ('StObjects :: ObjectDiffusion objectId object) Source # | |||||
| type StateAgency ('StObjectIds b :: ObjectDiffusion objectId object) Source # | |||||
data family Message ps (st :: ps) (st' :: ps) #
The messages for this protocol. It is expected to be a GADT that is
indexed by the from and to protocol states. That is the protocol state
the message transitions from, and the protocol state it transitions into.
These are the edges of the protocol state transition system.
Instances
| (NFData block, NFData point) => NFData (Message (BlockFetch block point) from to) Source # | |
Defined in Ouroboros.Network.Protocol.BlockFetch.Type Methods rnf :: Message (BlockFetch block point) from to -> () # | |
| (NFData header, NFData point, NFData tip) => NFData (Message (ChainSync header point tip) from to) Source # | |
Defined in Ouroboros.Network.Protocol.ChainSync.Type | |
| NFData (Message KeepAlive from to) Source # | |
Defined in Ouroboros.Network.Protocol.KeepAlive.Type | |
| (forall result. NFData (query result), NFData point) => NFData (Message (LocalStateQuery block point query) from to) Source # | |
Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type Methods rnf :: Message (LocalStateQuery block point query) from to -> () # | |
| (NFData txid, NFData tx, NFData slot) => NFData (Message (LocalTxMonitor txid tx slot) from to) Source # | |
Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type Methods rnf :: Message (LocalTxMonitor txid tx slot) from to -> () # | |
| (NFData tx, NFData reject) => NFData (Message (LocalTxSubmission tx reject) from to) Source # | |
Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type Methods rnf :: Message (LocalTxSubmission tx reject) from to -> () # | |
| (NFData objectId, NFData object) => NFData (Message (ObjectDiffusion objectId object) from to) Source # | |
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods rnf :: Message (ObjectDiffusion objectId object) from to -> () # | |
| NFData peerAddress => NFData (Message (PeerSharing peerAddress) from to) Source # | |
Defined in Ouroboros.Network.Protocol.PeerSharing.Type Methods rnf :: Message (PeerSharing peerAddress) from to -> () # | |
| (NFData txid, NFData tx) => NFData (Message (TxSubmission2 txid tx) from to) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods rnf :: Message (TxSubmission2 txid tx) from to -> () # | |
| (Show block, Show point) => Show (Message (BlockFetch block point) from to) Source # | |
Defined in Ouroboros.Network.Protocol.BlockFetch.Type | |
| (Show header, Show point, Show tip) => Show (Message (ChainSync header point tip) from to) Source # | |
| Show (Message KeepAlive from to) Source # | |
| (Show txid, Show tx, Show slot) => Show (Message (LocalTxMonitor txid tx slot) from to) Source # | |
| (Show tx, Show reject) => Show (Message (LocalTxSubmission tx reject) from to) Source # | |
| (Show objectId, Show object) => Show (Message (ObjectDiffusion objectId object) from to) Source # | |
| Show peer => Show (Message (PeerSharing peer) from to) Source # | |
Defined in Ouroboros.Network.Protocol.PeerSharing.Type | |
| (Show txid, Show tx) => Show (Message (TxSubmission2 txid tx) from to) Source # | |
| (Eq tx, Eq reject) => Eq (Message (LocalTxSubmission tx reject) from to) Source # | |
Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type Methods (==) :: Message (LocalTxSubmission tx reject) from to -> Message (LocalTxSubmission tx reject) from to -> Bool # (/=) :: Message (LocalTxSubmission tx reject) from to -> Message (LocalTxSubmission tx reject) from to -> Bool # | |
| (Eq objectId, Eq object) => Eq (Message (ObjectDiffusion objectId object) from to) Source # | |
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (==) :: Message (ObjectDiffusion objectId object) from to -> Message (ObjectDiffusion objectId object) from to -> Bool # (/=) :: Message (ObjectDiffusion objectId object) from to -> Message (ObjectDiffusion objectId object) from to -> Bool # | |
| (Eq txid, Eq tx) => Eq (Message (TxSubmission2 txid tx) from to) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods (==) :: Message (TxSubmission2 txid tx) from to -> Message (TxSubmission2 txid tx) from to -> Bool # (/=) :: Message (TxSubmission2 txid tx) from to -> Message (TxSubmission2 txid tx) from to -> Bool # | |
| data Message KeepAlive (from :: KeepAlive) (to :: KeepAlive) Source # | |
| data Message (PeerSharing peerAddress) (from :: PeerSharing peerAddress) (to :: PeerSharing peerAddress) Source # | |
Defined in Ouroboros.Network.Protocol.PeerSharing.Type data Message (PeerSharing peerAddress) (from :: PeerSharing peerAddress) (to :: PeerSharing peerAddress) where
| |
| data Message (BlockFetch block point) (from :: BlockFetch block point) (to :: BlockFetch block point) Source # | |
Defined in Ouroboros.Network.Protocol.BlockFetch.Type data Message (BlockFetch block point) (from :: BlockFetch block point) (to :: BlockFetch block point) where
| |
| data Message (LocalTxSubmission tx reject) (from :: LocalTxSubmission tx reject) (to :: LocalTxSubmission tx reject) Source # | |
Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type data Message (LocalTxSubmission tx reject) (from :: LocalTxSubmission tx reject) (to :: LocalTxSubmission tx reject) where
| |
| data Message (ObjectDiffusion objectId object) (from :: ObjectDiffusion objectId object) (to :: ObjectDiffusion objectId object) Source # | |
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type data Message (ObjectDiffusion objectId object) (from :: ObjectDiffusion objectId object) (to :: ObjectDiffusion objectId object) where
| |
| data Message (TxSubmission2 txid tx) (from :: TxSubmission2 txid tx) (to :: TxSubmission2 txid tx) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type data Message (TxSubmission2 txid tx) (from :: TxSubmission2 txid tx) (to :: TxSubmission2 txid tx) where
| |
| data Message (ChainSync header point tip) (from :: ChainSync header point tip) (to :: ChainSync header point tip) Source # | |
Defined in Ouroboros.Network.Protocol.ChainSync.Type data Message (ChainSync header point tip) (from :: ChainSync header point tip) (to :: ChainSync header point tip) where
| |
| data Message (LocalStateQuery block point query) (from :: LocalStateQuery block point query) (to :: LocalStateQuery block point query) Source # | |
Defined in Ouroboros.Network.Protocol.LocalStateQuery.Type data Message (LocalStateQuery block point query) (from :: LocalStateQuery block point query) (to :: LocalStateQuery block point query) where
| |
| data Message (LocalTxMonitor txid tx slot) (from :: LocalTxMonitor txid tx slot) (to :: LocalTxMonitor txid tx slot) Source # | |
Defined in Ouroboros.Network.Protocol.LocalTxMonitor.Type data Message (LocalTxMonitor txid tx slot) (from :: LocalTxMonitor txid tx slot) (to :: LocalTxMonitor txid tx slot) where
| |
data SingObjectDiffusion (k :: ObjectDiffusion objectId object) where Source #
Constructors
| SingInit :: forall {objectId} {object}. SingObjectDiffusion ('StInit :: ObjectDiffusion objectId object) | |
| SingIdle :: forall {objectId} {object}. SingObjectDiffusion ('StIdle :: ObjectDiffusion objectId object) | |
| SingObjectIds :: forall {objectId} {object} (stBlocking :: StBlockingStyle). SingBlockingStyle stBlocking -> SingObjectDiffusion ('StObjectIds stBlocking :: ObjectDiffusion objectId object) | |
| SingObjects :: forall {objectId} {object}. SingObjectDiffusion ('StObjects :: ObjectDiffusion objectId object) | |
| SingDone :: forall {objectId} {object}. SingObjectDiffusion ('StDone :: ObjectDiffusion objectId object) |
Instances
| Show (SingObjectDiffusion k) Source # | |
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods showsPrec :: Int -> SingObjectDiffusion k -> ShowS # show :: SingObjectDiffusion k -> String # showList :: [SingObjectDiffusion k] -> ShowS # | |
newtype NumObjectIdsAck Source #
Constructors
| NumObjectIdsAck | |
Fields | |
Instances
newtype NumObjectIdsReq Source #
Constructors
| NumObjectIdsReq | |
Fields | |
Instances
| NFData NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods rnf :: NumObjectIdsReq -> () # | |||||
| Monoid NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods mappend :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # mconcat :: [NumObjectIdsReq] -> NumObjectIdsReq # | |||||
| Semigroup NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (<>) :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # sconcat :: NonEmpty NumObjectIdsReq -> NumObjectIdsReq # stimes :: Integral b => b -> NumObjectIdsReq -> NumObjectIdsReq # | |||||
| Bounded NumObjectIdsReq Source # | |||||
| Enum NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods succ :: NumObjectIdsReq -> NumObjectIdsReq # pred :: NumObjectIdsReq -> NumObjectIdsReq # toEnum :: Int -> NumObjectIdsReq # fromEnum :: NumObjectIdsReq -> Int # enumFrom :: NumObjectIdsReq -> [NumObjectIdsReq] # enumFromThen :: NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq] # enumFromTo :: NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq] # enumFromThenTo :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq] # | |||||
| Generic NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Associated Types
Methods from :: NumObjectIdsReq -> Rep NumObjectIdsReq x # to :: Rep NumObjectIdsReq x -> NumObjectIdsReq # | |||||
| Num NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (+) :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # (-) :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # (*) :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # negate :: NumObjectIdsReq -> NumObjectIdsReq # abs :: NumObjectIdsReq -> NumObjectIdsReq # signum :: NumObjectIdsReq -> NumObjectIdsReq # fromInteger :: Integer -> NumObjectIdsReq # | |||||
| Integral NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods quot :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # rem :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # div :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # mod :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # quotRem :: NumObjectIdsReq -> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq) # divMod :: NumObjectIdsReq -> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq) # toInteger :: NumObjectIdsReq -> Integer # | |||||
| Real NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods toRational :: NumObjectIdsReq -> Rational # | |||||
| Show NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods showsPrec :: Int -> NumObjectIdsReq -> ShowS # show :: NumObjectIdsReq -> String # showList :: [NumObjectIdsReq] -> ShowS # | |||||
| Eq NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (==) :: NumObjectIdsReq -> NumObjectIdsReq -> Bool # (/=) :: NumObjectIdsReq -> NumObjectIdsReq -> Bool # | |||||
| Ord NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods compare :: NumObjectIdsReq -> NumObjectIdsReq -> Ordering # (<) :: NumObjectIdsReq -> NumObjectIdsReq -> Bool # (<=) :: NumObjectIdsReq -> NumObjectIdsReq -> Bool # (>) :: NumObjectIdsReq -> NumObjectIdsReq -> Bool # (>=) :: NumObjectIdsReq -> NumObjectIdsReq -> Bool # max :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # min :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq # | |||||
| NoThunks NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods noThunks :: Context -> NumObjectIdsReq -> IO (Maybe ThunkInfo) # wNoThunks :: Context -> NumObjectIdsReq -> IO (Maybe ThunkInfo) # showTypeOf :: Proxy NumObjectIdsReq -> String # | |||||
| type Rep NumObjectIdsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type type Rep NumObjectIdsReq = D1 ('MetaData "NumObjectIdsReq" "Ouroboros.Network.Protocol.ObjectDiffusion.Type" "ouroboros-network-1.1.0.0-inplace-protocols" 'True) (C1 ('MetaCons "NumObjectIdsReq" 'PrefixI 'True) (S1 ('MetaSel ('Just "getNumObjectIdsReq") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16))) | |||||
newtype NumObjectsReq Source #
Constructors
| NumObjectsReq | |
Fields | |
Instances
| NFData NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods rnf :: NumObjectsReq -> () # | |||||
| Monoid NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods mempty :: NumObjectsReq # mappend :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # mconcat :: [NumObjectsReq] -> NumObjectsReq # | |||||
| Semigroup NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (<>) :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # sconcat :: NonEmpty NumObjectsReq -> NumObjectsReq # stimes :: Integral b => b -> NumObjectsReq -> NumObjectsReq # | |||||
| Bounded NumObjectsReq Source # | |||||
| Enum NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods succ :: NumObjectsReq -> NumObjectsReq # pred :: NumObjectsReq -> NumObjectsReq # toEnum :: Int -> NumObjectsReq # fromEnum :: NumObjectsReq -> Int # enumFrom :: NumObjectsReq -> [NumObjectsReq] # enumFromThen :: NumObjectsReq -> NumObjectsReq -> [NumObjectsReq] # enumFromTo :: NumObjectsReq -> NumObjectsReq -> [NumObjectsReq] # enumFromThenTo :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq -> [NumObjectsReq] # | |||||
| Generic NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Associated Types
| |||||
| Num NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (+) :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # (-) :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # (*) :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # negate :: NumObjectsReq -> NumObjectsReq # abs :: NumObjectsReq -> NumObjectsReq # signum :: NumObjectsReq -> NumObjectsReq # fromInteger :: Integer -> NumObjectsReq # | |||||
| Integral NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods quot :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # rem :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # div :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # mod :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # quotRem :: NumObjectsReq -> NumObjectsReq -> (NumObjectsReq, NumObjectsReq) # divMod :: NumObjectsReq -> NumObjectsReq -> (NumObjectsReq, NumObjectsReq) # toInteger :: NumObjectsReq -> Integer # | |||||
| Real NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods toRational :: NumObjectsReq -> Rational # | |||||
| Show NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods showsPrec :: Int -> NumObjectsReq -> ShowS # show :: NumObjectsReq -> String # showList :: [NumObjectsReq] -> ShowS # | |||||
| Eq NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (==) :: NumObjectsReq -> NumObjectsReq -> Bool # (/=) :: NumObjectsReq -> NumObjectsReq -> Bool # | |||||
| Ord NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods compare :: NumObjectsReq -> NumObjectsReq -> Ordering # (<) :: NumObjectsReq -> NumObjectsReq -> Bool # (<=) :: NumObjectsReq -> NumObjectsReq -> Bool # (>) :: NumObjectsReq -> NumObjectsReq -> Bool # (>=) :: NumObjectsReq -> NumObjectsReq -> Bool # max :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # min :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq # | |||||
| NoThunks NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods noThunks :: Context -> NumObjectsReq -> IO (Maybe ThunkInfo) # wNoThunks :: Context -> NumObjectsReq -> IO (Maybe ThunkInfo) # showTypeOf :: Proxy NumObjectsReq -> String # | |||||
| type Rep NumObjectsReq Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type type Rep NumObjectsReq = D1 ('MetaData "NumObjectsReq" "Ouroboros.Network.Protocol.ObjectDiffusion.Type" "ouroboros-network-1.1.0.0-inplace-protocols" 'True) (C1 ('MetaCons "NumObjectsReq" 'PrefixI 'True) (S1 ('MetaSel ('Just "getNumObjectsReq") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16))) | |||||
newtype NumObjectsUnacknowledged Source #
Constructors
| NumObjectsUnacknowledged | |
Fields | |
Instances
| NFData NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods rnf :: NumObjectsUnacknowledged -> () # | |||||
| Monoid NumObjectsUnacknowledged Source # | |||||
| Semigroup NumObjectsUnacknowledged Source # | |||||
| Bounded NumObjectsUnacknowledged Source # | |||||
| Enum NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods succ :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged # pred :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged # toEnum :: Int -> NumObjectsUnacknowledged # fromEnum :: NumObjectsUnacknowledged -> Int # enumFrom :: NumObjectsUnacknowledged -> [NumObjectsUnacknowledged] # enumFromThen :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged] # enumFromTo :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged] # enumFromThenTo :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged] # | |||||
| Generic NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Associated Types
Methods from :: NumObjectsUnacknowledged -> Rep NumObjectsUnacknowledged x # to :: Rep NumObjectsUnacknowledged x -> NumObjectsUnacknowledged # | |||||
| Num NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (+) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # (-) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # (*) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # negate :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged # abs :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged # signum :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged # | |||||
| Integral NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods quot :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # rem :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # div :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # mod :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # quotRem :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> (NumObjectsUnacknowledged, NumObjectsUnacknowledged) # divMod :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> (NumObjectsUnacknowledged, NumObjectsUnacknowledged) # | |||||
| Real NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods | |||||
| Show NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods showsPrec :: Int -> NumObjectsUnacknowledged -> ShowS # show :: NumObjectsUnacknowledged -> String # showList :: [NumObjectsUnacknowledged] -> ShowS # | |||||
| Eq NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods (==) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool # (/=) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool # | |||||
| Ord NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type Methods compare :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Ordering # (<) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool # (<=) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool # (>) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool # (>=) :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool # max :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # min :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged # | |||||
| NoThunks NumObjectsUnacknowledged Source # | |||||
| type Rep NumObjectsUnacknowledged Source # | |||||
Defined in Ouroboros.Network.Protocol.ObjectDiffusion.Type type Rep NumObjectsUnacknowledged = D1 ('MetaData "NumObjectsUnacknowledged" "Ouroboros.Network.Protocol.ObjectDiffusion.Type" "ouroboros-network-1.1.0.0-inplace-protocols" 'True) (C1 ('MetaCons "NumObjectsUnacknowledged" 'PrefixI 'True) (S1 ('MetaSel ('Just "getNumObjectsUnacknowledged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16))) | |||||
data BlockingReplyList (blocking :: StBlockingStyle) a where Source #
We have requests for lists of things. In the blocking case the corresponding reply must be non-empty, whereas in the non-blocking case and empty reply is fine.
Constructors
| BlockingReply :: forall a. NonEmpty a -> BlockingReplyList 'StBlocking a | |
| NonBlockingReply :: forall a. [a] -> BlockingReplyList 'StNonBlocking a |
Instances
| Foldable (BlockingReplyList blocking) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods fold :: Monoid m => BlockingReplyList blocking m -> m # foldMap :: Monoid m => (a -> m) -> BlockingReplyList blocking a -> m # foldMap' :: Monoid m => (a -> m) -> BlockingReplyList blocking a -> m # foldr :: (a -> b -> b) -> b -> BlockingReplyList blocking a -> b # foldr' :: (a -> b -> b) -> b -> BlockingReplyList blocking a -> b # foldl :: (b -> a -> b) -> b -> BlockingReplyList blocking a -> b # foldl' :: (b -> a -> b) -> b -> BlockingReplyList blocking a -> b # foldr1 :: (a -> a -> a) -> BlockingReplyList blocking a -> a # foldl1 :: (a -> a -> a) -> BlockingReplyList blocking a -> a # toList :: BlockingReplyList blocking a -> [a] # null :: BlockingReplyList blocking a -> Bool # length :: BlockingReplyList blocking a -> Int # elem :: Eq a => a -> BlockingReplyList blocking a -> Bool # maximum :: Ord a => BlockingReplyList blocking a -> a # minimum :: Ord a => BlockingReplyList blocking a -> a # sum :: Num a => BlockingReplyList blocking a -> a # product :: Num a => BlockingReplyList blocking a -> a # | |
| NFData a => NFData (BlockingReplyList blocking a) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods rnf :: BlockingReplyList blocking a -> () # | |
| Show a => Show (BlockingReplyList blocking a) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods showsPrec :: Int -> BlockingReplyList blocking a -> ShowS # show :: BlockingReplyList blocking a -> String # showList :: [BlockingReplyList blocking a] -> ShowS # | |
| Eq a => Eq (BlockingReplyList blocking a) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods (==) :: BlockingReplyList blocking a -> BlockingReplyList blocking a -> Bool # (/=) :: BlockingReplyList blocking a -> BlockingReplyList blocking a -> Bool # | |
data SingBlockingStyle (k :: StBlockingStyle) where Source #
The value level equivalent of BlockingStyle.
This is also used in MsgRequestTxIds where it is interpreted (and can be
encoded) as a Bool with True for blocking, and False for non-blocking.
Constructors
| SingBlocking :: SingBlockingStyle 'StBlocking | |
| SingNonBlocking :: SingBlockingStyle 'StNonBlocking |
Instances
| NFData (SingBlockingStyle b) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods rnf :: SingBlockingStyle b -> () # | |
| Show (SingBlockingStyle b) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods showsPrec :: Int -> SingBlockingStyle b -> ShowS # show :: SingBlockingStyle b -> String # showList :: [SingBlockingStyle b] -> ShowS # | |
| Eq (SingBlockingStyle b) Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods (==) :: SingBlockingStyle b -> SingBlockingStyle b -> Bool # (/=) :: SingBlockingStyle b -> SingBlockingStyle b -> Bool # | |
newtype SizeInBytes #
Constructors
| SizeInBytes | |
Fields | |
Instances
| ToJSON SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods toJSON :: SizeInBytes -> Value # toEncoding :: SizeInBytes -> Encoding # toJSONList :: [SizeInBytes] -> Value # toEncodingList :: [SizeInBytes] -> Encoding # omitField :: SizeInBytes -> Bool # | |||||
| NFData SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods rnf :: SizeInBytes -> () # | |||||
| Monoid SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods mempty :: SizeInBytes # mappend :: SizeInBytes -> SizeInBytes -> SizeInBytes # mconcat :: [SizeInBytes] -> SizeInBytes # | |||||
| Semigroup SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods (<>) :: SizeInBytes -> SizeInBytes -> SizeInBytes # sconcat :: NonEmpty SizeInBytes -> SizeInBytes # stimes :: Integral b => b -> SizeInBytes -> SizeInBytes # | |||||
| Bounded SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes | |||||
| Enum SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods succ :: SizeInBytes -> SizeInBytes # pred :: SizeInBytes -> SizeInBytes # toEnum :: Int -> SizeInBytes # fromEnum :: SizeInBytes -> Int # enumFrom :: SizeInBytes -> [SizeInBytes] # enumFromThen :: SizeInBytes -> SizeInBytes -> [SizeInBytes] # enumFromTo :: SizeInBytes -> SizeInBytes -> [SizeInBytes] # enumFromThenTo :: SizeInBytes -> SizeInBytes -> SizeInBytes -> [SizeInBytes] # | |||||
| Generic SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Associated Types
| |||||
| Num SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods (+) :: SizeInBytes -> SizeInBytes -> SizeInBytes # (-) :: SizeInBytes -> SizeInBytes -> SizeInBytes # (*) :: SizeInBytes -> SizeInBytes -> SizeInBytes # negate :: SizeInBytes -> SizeInBytes # abs :: SizeInBytes -> SizeInBytes # signum :: SizeInBytes -> SizeInBytes # fromInteger :: Integer -> SizeInBytes # | |||||
| Integral SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods quot :: SizeInBytes -> SizeInBytes -> SizeInBytes # rem :: SizeInBytes -> SizeInBytes -> SizeInBytes # div :: SizeInBytes -> SizeInBytes -> SizeInBytes # mod :: SizeInBytes -> SizeInBytes -> SizeInBytes # quotRem :: SizeInBytes -> SizeInBytes -> (SizeInBytes, SizeInBytes) # divMod :: SizeInBytes -> SizeInBytes -> (SizeInBytes, SizeInBytes) # toInteger :: SizeInBytes -> Integer # | |||||
| Real SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods toRational :: SizeInBytes -> Rational # | |||||
| Show SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods showsPrec :: Int -> SizeInBytes -> ShowS # show :: SizeInBytes -> String # showList :: [SizeInBytes] -> ShowS # | |||||
| Eq SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes | |||||
| Ord SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods compare :: SizeInBytes -> SizeInBytes -> Ordering # (<) :: SizeInBytes -> SizeInBytes -> Bool # (<=) :: SizeInBytes -> SizeInBytes -> Bool # (>) :: SizeInBytes -> SizeInBytes -> Bool # (>=) :: SizeInBytes -> SizeInBytes -> Bool # max :: SizeInBytes -> SizeInBytes -> SizeInBytes # min :: SizeInBytes -> SizeInBytes -> SizeInBytes # | |||||
| BoundedMeasure SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods maxBound :: SizeInBytes # | |||||
| Measure SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods zero :: SizeInBytes # plus :: SizeInBytes -> SizeInBytes -> SizeInBytes # min :: SizeInBytes -> SizeInBytes -> SizeInBytes # max :: SizeInBytes -> SizeInBytes -> SizeInBytes # | |||||
| NoThunks SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes Methods noThunks :: Context -> SizeInBytes -> IO (Maybe ThunkInfo) # wNoThunks :: Context -> SizeInBytes -> IO (Maybe ThunkInfo) # showTypeOf :: Proxy SizeInBytes -> String # | |||||
| type Rep SizeInBytes | |||||
Defined in Ouroboros.Network.SizeInBytes type Rep SizeInBytes = D1 ('MetaData "SizeInBytes" "Ouroboros.Network.SizeInBytes" "ouroboros-network-1.1.0.0-inplace-api" 'True) (C1 ('MetaCons "SizeInBytes" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSizeInBytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) | |||||
data StBlockingStyle where Source #
Constructors
| StBlocking :: StBlockingStyle | In this sub-state the reply need not be prompt. There is no timeout. |
| StNonBlocking :: StBlockingStyle | In this state the peer must reply. There is a timeout. |
Instances
| SingI 'StBlocking Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods sing :: Sing 'StBlocking # | |
| SingI 'StNonBlocking Source # | |
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods sing :: Sing 'StNonBlocking # | |
| type Sing Source # | |