{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE StandaloneKindSignatures #-}
{-# LANGUAGE TypeFamilies #-}
module Ouroboros.Network.Protocol.ObjectDiffusion.Type
( ObjectDiffusion (..)
, Message (..)
, SingObjectDiffusion (..)
, NumObjectIdsAck (..)
, NumObjectIdsReq (..)
, NumObjectsReq (..)
, NumObjectsUnacknowledged (..)
, BlockingReplyList (..)
, SingBlockingStyle (..)
, SizeInBytes (..)
, StBlockingStyle (..)
) where
import Control.DeepSeq (NFData (..))
import Data.Kind (Type)
import Data.Monoid (Sum (..))
import Data.Singletons
import Data.Word (Word16)
import GHC.Generics (Generic)
import Network.TypedProtocol.Core
import NoThunks.Class (NoThunks (..))
import Ouroboros.Network.Protocol.TxSubmission2.Type (BlockingReplyList (..),
SingBlockingStyle (..), StBlockingStyle (..))
import Ouroboros.Network.SizeInBytes (SizeInBytes (..))
import Ouroboros.Network.Util.ShowProxy (ShowProxy (..))
import Quiet (Quiet (..))
type ObjectDiffusion :: Type -> Type -> Type
data ObjectDiffusion objectId object where
StInit :: ObjectDiffusion objectId object
StIdle :: ObjectDiffusion objectId object
StObjectIds :: StBlockingStyle -> ObjectDiffusion objectId object
StObjects :: ObjectDiffusion objectId object
StDone :: ObjectDiffusion objectId object
instance ( ShowProxy objectId
, ShowProxy object
)
=> ShowProxy (ObjectDiffusion objectId object) where
showProxy :: Proxy (ObjectDiffusion objectId object) -> String
showProxy Proxy (ObjectDiffusion objectId object)
_ =
[String] -> String
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat
[ String
"ObjectDiffusion ",
Proxy objectId -> String
forall {k} (p :: k). ShowProxy p => Proxy p -> String
showProxy (Proxy objectId
forall {k} (t :: k). Proxy t
Proxy :: Proxy objectId),
String
" ",
Proxy object -> String
forall {k} (p :: k). ShowProxy p => Proxy p -> String
showProxy (Proxy object
forall {k} (t :: k). Proxy t
Proxy :: Proxy object)
]
instance ShowProxy (StIdle :: ObjectDiffusion objectId object) where
showProxy :: Proxy 'StIdle -> String
showProxy Proxy 'StIdle
_ = String
"StIdle"
type SingObjectDiffusion
:: ObjectDiffusion objectId object
-> Type
data SingObjectDiffusion k where
SingInit :: SingObjectDiffusion StInit
SingIdle :: SingObjectDiffusion StIdle
SingObjectIds :: SingBlockingStyle stBlocking
-> SingObjectDiffusion (StObjectIds stBlocking)
SingObjects :: SingObjectDiffusion StObjects
SingDone :: SingObjectDiffusion StDone
deriving instance Show (SingObjectDiffusion k)
instance StateTokenI StInit where stateToken :: StateToken 'StInit
stateToken = StateToken 'StInit
SingObjectDiffusion 'StInit
forall {objectId} {object}. SingObjectDiffusion 'StInit
SingInit
instance StateTokenI StIdle where stateToken :: StateToken 'StIdle
stateToken = StateToken 'StIdle
SingObjectDiffusion 'StIdle
forall {objectId} {object}. SingObjectDiffusion 'StIdle
SingIdle
instance (SingI stBlocking)
=> StateTokenI (StObjectIds stBlocking) where
stateToken :: StateToken ('StObjectIds stBlocking)
stateToken = SingBlockingStyle stBlocking
-> SingObjectDiffusion ('StObjectIds stBlocking)
forall {objectId} {object} (stBlocking :: StBlockingStyle).
SingBlockingStyle stBlocking
-> SingObjectDiffusion ('StObjectIds stBlocking)
SingObjectIds Sing stBlocking
SingBlockingStyle stBlocking
forall {k} (a :: k). SingI a => Sing a
sing
instance StateTokenI StObjects where stateToken :: StateToken 'StObjects
stateToken = StateToken 'StObjects
SingObjectDiffusion 'StObjects
forall {objectId} {object}. SingObjectDiffusion 'StObjects
SingObjects
instance StateTokenI StDone where stateToken :: StateToken 'StDone
stateToken = StateToken 'StDone
SingObjectDiffusion 'StDone
forall {objectId} {object}. SingObjectDiffusion 'StDone
SingDone
newtype NumObjectIdsAck = NumObjectIdsAck {NumObjectIdsAck -> Word16
getNumObjectIdsAck :: Word16}
deriving (NumObjectIdsAck -> NumObjectIdsAck -> Bool
(NumObjectIdsAck -> NumObjectIdsAck -> Bool)
-> (NumObjectIdsAck -> NumObjectIdsAck -> Bool)
-> Eq NumObjectIdsAck
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
== :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
$c/= :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
/= :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
Eq, Eq NumObjectIdsAck
Eq NumObjectIdsAck =>
(NumObjectIdsAck -> NumObjectIdsAck -> Ordering)
-> (NumObjectIdsAck -> NumObjectIdsAck -> Bool)
-> (NumObjectIdsAck -> NumObjectIdsAck -> Bool)
-> (NumObjectIdsAck -> NumObjectIdsAck -> Bool)
-> (NumObjectIdsAck -> NumObjectIdsAck -> Bool)
-> (NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> Ord NumObjectIdsAck
NumObjectIdsAck -> NumObjectIdsAck -> Bool
NumObjectIdsAck -> NumObjectIdsAck -> Ordering
NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: NumObjectIdsAck -> NumObjectIdsAck -> Ordering
compare :: NumObjectIdsAck -> NumObjectIdsAck -> Ordering
$c< :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
< :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
$c<= :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
<= :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
$c> :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
> :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
$c>= :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
>= :: NumObjectIdsAck -> NumObjectIdsAck -> Bool
$cmax :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
max :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$cmin :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
min :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
Ord, NumObjectIdsAck -> ()
(NumObjectIdsAck -> ()) -> NFData NumObjectIdsAck
forall a. (a -> ()) -> NFData a
$crnf :: NumObjectIdsAck -> ()
rnf :: NumObjectIdsAck -> ()
NFData, (forall x. NumObjectIdsAck -> Rep NumObjectIdsAck x)
-> (forall x. Rep NumObjectIdsAck x -> NumObjectIdsAck)
-> Generic NumObjectIdsAck
forall x. Rep NumObjectIdsAck x -> NumObjectIdsAck
forall x. NumObjectIdsAck -> Rep NumObjectIdsAck x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NumObjectIdsAck -> Rep NumObjectIdsAck x
from :: forall x. NumObjectIdsAck -> Rep NumObjectIdsAck x
$cto :: forall x. Rep NumObjectIdsAck x -> NumObjectIdsAck
to :: forall x. Rep NumObjectIdsAck x -> NumObjectIdsAck
Generic)
deriving newtype (Integer -> NumObjectIdsAck
NumObjectIdsAck -> NumObjectIdsAck
NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
(NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck)
-> (Integer -> NumObjectIdsAck)
-> Num NumObjectIdsAck
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
$c+ :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
+ :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$c- :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
- :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$c* :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
* :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$cnegate :: NumObjectIdsAck -> NumObjectIdsAck
negate :: NumObjectIdsAck -> NumObjectIdsAck
$cabs :: NumObjectIdsAck -> NumObjectIdsAck
abs :: NumObjectIdsAck -> NumObjectIdsAck
$csignum :: NumObjectIdsAck -> NumObjectIdsAck
signum :: NumObjectIdsAck -> NumObjectIdsAck
$cfromInteger :: Integer -> NumObjectIdsAck
fromInteger :: Integer -> NumObjectIdsAck
Num, Int -> NumObjectIdsAck
NumObjectIdsAck -> Int
NumObjectIdsAck -> [NumObjectIdsAck]
NumObjectIdsAck -> NumObjectIdsAck
NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck]
NumObjectIdsAck
-> NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck]
(NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck)
-> (Int -> NumObjectIdsAck)
-> (NumObjectIdsAck -> Int)
-> (NumObjectIdsAck -> [NumObjectIdsAck])
-> (NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck])
-> (NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck])
-> (NumObjectIdsAck
-> NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck])
-> Enum NumObjectIdsAck
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: NumObjectIdsAck -> NumObjectIdsAck
succ :: NumObjectIdsAck -> NumObjectIdsAck
$cpred :: NumObjectIdsAck -> NumObjectIdsAck
pred :: NumObjectIdsAck -> NumObjectIdsAck
$ctoEnum :: Int -> NumObjectIdsAck
toEnum :: Int -> NumObjectIdsAck
$cfromEnum :: NumObjectIdsAck -> Int
fromEnum :: NumObjectIdsAck -> Int
$cenumFrom :: NumObjectIdsAck -> [NumObjectIdsAck]
enumFrom :: NumObjectIdsAck -> [NumObjectIdsAck]
$cenumFromThen :: NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck]
enumFromThen :: NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck]
$cenumFromTo :: NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck]
enumFromTo :: NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck]
$cenumFromThenTo :: NumObjectIdsAck
-> NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck]
enumFromThenTo :: NumObjectIdsAck
-> NumObjectIdsAck -> NumObjectIdsAck -> [NumObjectIdsAck]
Enum, Num NumObjectIdsAck
Ord NumObjectIdsAck
(Num NumObjectIdsAck, Ord NumObjectIdsAck) =>
(NumObjectIdsAck -> Rational) -> Real NumObjectIdsAck
NumObjectIdsAck -> Rational
forall a. (Num a, Ord a) => (a -> Rational) -> Real a
$ctoRational :: NumObjectIdsAck -> Rational
toRational :: NumObjectIdsAck -> Rational
Real, Enum NumObjectIdsAck
Real NumObjectIdsAck
(Real NumObjectIdsAck, Enum NumObjectIdsAck) =>
(NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NumObjectIdsAck
-> NumObjectIdsAck -> (NumObjectIdsAck, NumObjectIdsAck))
-> (NumObjectIdsAck
-> NumObjectIdsAck -> (NumObjectIdsAck, NumObjectIdsAck))
-> (NumObjectIdsAck -> Integer)
-> Integral NumObjectIdsAck
NumObjectIdsAck -> Integer
NumObjectIdsAck
-> NumObjectIdsAck -> (NumObjectIdsAck, NumObjectIdsAck)
NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
forall a.
(Real a, Enum a) =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
$cquot :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
quot :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$crem :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
rem :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$cdiv :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
div :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$cmod :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
mod :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$cquotRem :: NumObjectIdsAck
-> NumObjectIdsAck -> (NumObjectIdsAck, NumObjectIdsAck)
quotRem :: NumObjectIdsAck
-> NumObjectIdsAck -> (NumObjectIdsAck, NumObjectIdsAck)
$cdivMod :: NumObjectIdsAck
-> NumObjectIdsAck -> (NumObjectIdsAck, NumObjectIdsAck)
divMod :: NumObjectIdsAck
-> NumObjectIdsAck -> (NumObjectIdsAck, NumObjectIdsAck)
$ctoInteger :: NumObjectIdsAck -> Integer
toInteger :: NumObjectIdsAck -> Integer
Integral, NumObjectIdsAck
NumObjectIdsAck -> NumObjectIdsAck -> Bounded NumObjectIdsAck
forall a. a -> a -> Bounded a
$cminBound :: NumObjectIdsAck
minBound :: NumObjectIdsAck
$cmaxBound :: NumObjectIdsAck
maxBound :: NumObjectIdsAck
Bounded, [String] -> NumObjectIdsAck -> IO (Maybe ThunkInfo)
Proxy NumObjectIdsAck -> String
([String] -> NumObjectIdsAck -> IO (Maybe ThunkInfo))
-> ([String] -> NumObjectIdsAck -> IO (Maybe ThunkInfo))
-> (Proxy NumObjectIdsAck -> String)
-> NoThunks NumObjectIdsAck
forall a.
([String] -> a -> IO (Maybe ThunkInfo))
-> ([String] -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: [String] -> NumObjectIdsAck -> IO (Maybe ThunkInfo)
noThunks :: [String] -> NumObjectIdsAck -> IO (Maybe ThunkInfo)
$cwNoThunks :: [String] -> NumObjectIdsAck -> IO (Maybe ThunkInfo)
wNoThunks :: [String] -> NumObjectIdsAck -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy NumObjectIdsAck -> String
showTypeOf :: Proxy NumObjectIdsAck -> String
NoThunks)
deriving (NonEmpty NumObjectIdsAck -> NumObjectIdsAck
NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
(NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> (NonEmpty NumObjectIdsAck -> NumObjectIdsAck)
-> (forall b.
Integral b =>
b -> NumObjectIdsAck -> NumObjectIdsAck)
-> Semigroup NumObjectIdsAck
forall b. Integral b => b -> NumObjectIdsAck -> NumObjectIdsAck
forall a.
(a -> a -> a)
-> (NonEmpty a -> a)
-> (forall b. Integral b => b -> a -> a)
-> Semigroup a
$c<> :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
<> :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$csconcat :: NonEmpty NumObjectIdsAck -> NumObjectIdsAck
sconcat :: NonEmpty NumObjectIdsAck -> NumObjectIdsAck
$cstimes :: forall b. Integral b => b -> NumObjectIdsAck -> NumObjectIdsAck
stimes :: forall b. Integral b => b -> NumObjectIdsAck -> NumObjectIdsAck
Semigroup) via (Sum Word16)
deriving (Semigroup NumObjectIdsAck
NumObjectIdsAck
Semigroup NumObjectIdsAck =>
NumObjectIdsAck
-> (NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck)
-> ([NumObjectIdsAck] -> NumObjectIdsAck)
-> Monoid NumObjectIdsAck
[NumObjectIdsAck] -> NumObjectIdsAck
NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
forall a.
Semigroup a =>
a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
$cmempty :: NumObjectIdsAck
mempty :: NumObjectIdsAck
$cmappend :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
mappend :: NumObjectIdsAck -> NumObjectIdsAck -> NumObjectIdsAck
$cmconcat :: [NumObjectIdsAck] -> NumObjectIdsAck
mconcat :: [NumObjectIdsAck] -> NumObjectIdsAck
Monoid) via (Sum Word16)
deriving (Int -> NumObjectIdsAck -> ShowS
[NumObjectIdsAck] -> ShowS
NumObjectIdsAck -> String
(Int -> NumObjectIdsAck -> ShowS)
-> (NumObjectIdsAck -> String)
-> ([NumObjectIdsAck] -> ShowS)
-> Show NumObjectIdsAck
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NumObjectIdsAck -> ShowS
showsPrec :: Int -> NumObjectIdsAck -> ShowS
$cshow :: NumObjectIdsAck -> String
show :: NumObjectIdsAck -> String
$cshowList :: [NumObjectIdsAck] -> ShowS
showList :: [NumObjectIdsAck] -> ShowS
Show) via (Quiet NumObjectIdsAck)
newtype NumObjectIdsReq = NumObjectIdsReq {NumObjectIdsReq -> Word16
getNumObjectIdsReq :: Word16}
deriving (NumObjectIdsReq -> NumObjectIdsReq -> Bool
(NumObjectIdsReq -> NumObjectIdsReq -> Bool)
-> (NumObjectIdsReq -> NumObjectIdsReq -> Bool)
-> Eq NumObjectIdsReq
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
== :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
$c/= :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
/= :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
Eq, Eq NumObjectIdsReq
Eq NumObjectIdsReq =>
(NumObjectIdsReq -> NumObjectIdsReq -> Ordering)
-> (NumObjectIdsReq -> NumObjectIdsReq -> Bool)
-> (NumObjectIdsReq -> NumObjectIdsReq -> Bool)
-> (NumObjectIdsReq -> NumObjectIdsReq -> Bool)
-> (NumObjectIdsReq -> NumObjectIdsReq -> Bool)
-> (NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> Ord NumObjectIdsReq
NumObjectIdsReq -> NumObjectIdsReq -> Bool
NumObjectIdsReq -> NumObjectIdsReq -> Ordering
NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: NumObjectIdsReq -> NumObjectIdsReq -> Ordering
compare :: NumObjectIdsReq -> NumObjectIdsReq -> Ordering
$c< :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
< :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
$c<= :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
<= :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
$c> :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
> :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
$c>= :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
>= :: NumObjectIdsReq -> NumObjectIdsReq -> Bool
$cmax :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
max :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$cmin :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
min :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
Ord, NumObjectIdsReq -> ()
(NumObjectIdsReq -> ()) -> NFData NumObjectIdsReq
forall a. (a -> ()) -> NFData a
$crnf :: NumObjectIdsReq -> ()
rnf :: NumObjectIdsReq -> ()
NFData, (forall x. NumObjectIdsReq -> Rep NumObjectIdsReq x)
-> (forall x. Rep NumObjectIdsReq x -> NumObjectIdsReq)
-> Generic NumObjectIdsReq
forall x. Rep NumObjectIdsReq x -> NumObjectIdsReq
forall x. NumObjectIdsReq -> Rep NumObjectIdsReq x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NumObjectIdsReq -> Rep NumObjectIdsReq x
from :: forall x. NumObjectIdsReq -> Rep NumObjectIdsReq x
$cto :: forall x. Rep NumObjectIdsReq x -> NumObjectIdsReq
to :: forall x. Rep NumObjectIdsReq x -> NumObjectIdsReq
Generic)
deriving newtype (Integer -> NumObjectIdsReq
NumObjectIdsReq -> NumObjectIdsReq
NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
(NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq)
-> (Integer -> NumObjectIdsReq)
-> Num NumObjectIdsReq
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
$c+ :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
+ :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$c- :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
- :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$c* :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
* :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$cnegate :: NumObjectIdsReq -> NumObjectIdsReq
negate :: NumObjectIdsReq -> NumObjectIdsReq
$cabs :: NumObjectIdsReq -> NumObjectIdsReq
abs :: NumObjectIdsReq -> NumObjectIdsReq
$csignum :: NumObjectIdsReq -> NumObjectIdsReq
signum :: NumObjectIdsReq -> NumObjectIdsReq
$cfromInteger :: Integer -> NumObjectIdsReq
fromInteger :: Integer -> NumObjectIdsReq
Num, Int -> NumObjectIdsReq
NumObjectIdsReq -> Int
NumObjectIdsReq -> [NumObjectIdsReq]
NumObjectIdsReq -> NumObjectIdsReq
NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq]
NumObjectIdsReq
-> NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq]
(NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq)
-> (Int -> NumObjectIdsReq)
-> (NumObjectIdsReq -> Int)
-> (NumObjectIdsReq -> [NumObjectIdsReq])
-> (NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq])
-> (NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq])
-> (NumObjectIdsReq
-> NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq])
-> Enum NumObjectIdsReq
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: NumObjectIdsReq -> NumObjectIdsReq
succ :: NumObjectIdsReq -> NumObjectIdsReq
$cpred :: NumObjectIdsReq -> NumObjectIdsReq
pred :: NumObjectIdsReq -> NumObjectIdsReq
$ctoEnum :: Int -> NumObjectIdsReq
toEnum :: Int -> NumObjectIdsReq
$cfromEnum :: NumObjectIdsReq -> Int
fromEnum :: NumObjectIdsReq -> Int
$cenumFrom :: NumObjectIdsReq -> [NumObjectIdsReq]
enumFrom :: NumObjectIdsReq -> [NumObjectIdsReq]
$cenumFromThen :: NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq]
enumFromThen :: NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq]
$cenumFromTo :: NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq]
enumFromTo :: NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq]
$cenumFromThenTo :: NumObjectIdsReq
-> NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq]
enumFromThenTo :: NumObjectIdsReq
-> NumObjectIdsReq -> NumObjectIdsReq -> [NumObjectIdsReq]
Enum, Num NumObjectIdsReq
Ord NumObjectIdsReq
(Num NumObjectIdsReq, Ord NumObjectIdsReq) =>
(NumObjectIdsReq -> Rational) -> Real NumObjectIdsReq
NumObjectIdsReq -> Rational
forall a. (Num a, Ord a) => (a -> Rational) -> Real a
$ctoRational :: NumObjectIdsReq -> Rational
toRational :: NumObjectIdsReq -> Rational
Real, Enum NumObjectIdsReq
Real NumObjectIdsReq
(Real NumObjectIdsReq, Enum NumObjectIdsReq) =>
(NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NumObjectIdsReq
-> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq))
-> (NumObjectIdsReq
-> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq))
-> (NumObjectIdsReq -> Integer)
-> Integral NumObjectIdsReq
NumObjectIdsReq -> Integer
NumObjectIdsReq
-> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq)
NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
forall a.
(Real a, Enum a) =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
$cquot :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
quot :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$crem :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
rem :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$cdiv :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
div :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$cmod :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
mod :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$cquotRem :: NumObjectIdsReq
-> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq)
quotRem :: NumObjectIdsReq
-> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq)
$cdivMod :: NumObjectIdsReq
-> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq)
divMod :: NumObjectIdsReq
-> NumObjectIdsReq -> (NumObjectIdsReq, NumObjectIdsReq)
$ctoInteger :: NumObjectIdsReq -> Integer
toInteger :: NumObjectIdsReq -> Integer
Integral, NumObjectIdsReq
NumObjectIdsReq -> NumObjectIdsReq -> Bounded NumObjectIdsReq
forall a. a -> a -> Bounded a
$cminBound :: NumObjectIdsReq
minBound :: NumObjectIdsReq
$cmaxBound :: NumObjectIdsReq
maxBound :: NumObjectIdsReq
Bounded, [String] -> NumObjectIdsReq -> IO (Maybe ThunkInfo)
Proxy NumObjectIdsReq -> String
([String] -> NumObjectIdsReq -> IO (Maybe ThunkInfo))
-> ([String] -> NumObjectIdsReq -> IO (Maybe ThunkInfo))
-> (Proxy NumObjectIdsReq -> String)
-> NoThunks NumObjectIdsReq
forall a.
([String] -> a -> IO (Maybe ThunkInfo))
-> ([String] -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: [String] -> NumObjectIdsReq -> IO (Maybe ThunkInfo)
noThunks :: [String] -> NumObjectIdsReq -> IO (Maybe ThunkInfo)
$cwNoThunks :: [String] -> NumObjectIdsReq -> IO (Maybe ThunkInfo)
wNoThunks :: [String] -> NumObjectIdsReq -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy NumObjectIdsReq -> String
showTypeOf :: Proxy NumObjectIdsReq -> String
NoThunks)
deriving (NonEmpty NumObjectIdsReq -> NumObjectIdsReq
NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
(NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> (NonEmpty NumObjectIdsReq -> NumObjectIdsReq)
-> (forall b.
Integral b =>
b -> NumObjectIdsReq -> NumObjectIdsReq)
-> Semigroup NumObjectIdsReq
forall b. Integral b => b -> NumObjectIdsReq -> NumObjectIdsReq
forall a.
(a -> a -> a)
-> (NonEmpty a -> a)
-> (forall b. Integral b => b -> a -> a)
-> Semigroup a
$c<> :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
<> :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$csconcat :: NonEmpty NumObjectIdsReq -> NumObjectIdsReq
sconcat :: NonEmpty NumObjectIdsReq -> NumObjectIdsReq
$cstimes :: forall b. Integral b => b -> NumObjectIdsReq -> NumObjectIdsReq
stimes :: forall b. Integral b => b -> NumObjectIdsReq -> NumObjectIdsReq
Semigroup) via (Sum Word16)
deriving (Semigroup NumObjectIdsReq
NumObjectIdsReq
Semigroup NumObjectIdsReq =>
NumObjectIdsReq
-> (NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq)
-> ([NumObjectIdsReq] -> NumObjectIdsReq)
-> Monoid NumObjectIdsReq
[NumObjectIdsReq] -> NumObjectIdsReq
NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
forall a.
Semigroup a =>
a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
$cmempty :: NumObjectIdsReq
mempty :: NumObjectIdsReq
$cmappend :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
mappend :: NumObjectIdsReq -> NumObjectIdsReq -> NumObjectIdsReq
$cmconcat :: [NumObjectIdsReq] -> NumObjectIdsReq
mconcat :: [NumObjectIdsReq] -> NumObjectIdsReq
Monoid) via (Sum Word16)
deriving (Int -> NumObjectIdsReq -> ShowS
[NumObjectIdsReq] -> ShowS
NumObjectIdsReq -> String
(Int -> NumObjectIdsReq -> ShowS)
-> (NumObjectIdsReq -> String)
-> ([NumObjectIdsReq] -> ShowS)
-> Show NumObjectIdsReq
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NumObjectIdsReq -> ShowS
showsPrec :: Int -> NumObjectIdsReq -> ShowS
$cshow :: NumObjectIdsReq -> String
show :: NumObjectIdsReq -> String
$cshowList :: [NumObjectIdsReq] -> ShowS
showList :: [NumObjectIdsReq] -> ShowS
Show) via (Quiet NumObjectIdsReq)
newtype NumObjectsReq = NumObjectsReq {NumObjectsReq -> Word16
getNumObjectsReq :: Word16}
deriving (NumObjectsReq -> NumObjectsReq -> Bool
(NumObjectsReq -> NumObjectsReq -> Bool)
-> (NumObjectsReq -> NumObjectsReq -> Bool) -> Eq NumObjectsReq
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NumObjectsReq -> NumObjectsReq -> Bool
== :: NumObjectsReq -> NumObjectsReq -> Bool
$c/= :: NumObjectsReq -> NumObjectsReq -> Bool
/= :: NumObjectsReq -> NumObjectsReq -> Bool
Eq, Eq NumObjectsReq
Eq NumObjectsReq =>
(NumObjectsReq -> NumObjectsReq -> Ordering)
-> (NumObjectsReq -> NumObjectsReq -> Bool)
-> (NumObjectsReq -> NumObjectsReq -> Bool)
-> (NumObjectsReq -> NumObjectsReq -> Bool)
-> (NumObjectsReq -> NumObjectsReq -> Bool)
-> (NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> Ord NumObjectsReq
NumObjectsReq -> NumObjectsReq -> Bool
NumObjectsReq -> NumObjectsReq -> Ordering
NumObjectsReq -> NumObjectsReq -> NumObjectsReq
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: NumObjectsReq -> NumObjectsReq -> Ordering
compare :: NumObjectsReq -> NumObjectsReq -> Ordering
$c< :: NumObjectsReq -> NumObjectsReq -> Bool
< :: NumObjectsReq -> NumObjectsReq -> Bool
$c<= :: NumObjectsReq -> NumObjectsReq -> Bool
<= :: NumObjectsReq -> NumObjectsReq -> Bool
$c> :: NumObjectsReq -> NumObjectsReq -> Bool
> :: NumObjectsReq -> NumObjectsReq -> Bool
$c>= :: NumObjectsReq -> NumObjectsReq -> Bool
>= :: NumObjectsReq -> NumObjectsReq -> Bool
$cmax :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
max :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$cmin :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
min :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
Ord, NumObjectsReq -> ()
(NumObjectsReq -> ()) -> NFData NumObjectsReq
forall a. (a -> ()) -> NFData a
$crnf :: NumObjectsReq -> ()
rnf :: NumObjectsReq -> ()
NFData, (forall x. NumObjectsReq -> Rep NumObjectsReq x)
-> (forall x. Rep NumObjectsReq x -> NumObjectsReq)
-> Generic NumObjectsReq
forall x. Rep NumObjectsReq x -> NumObjectsReq
forall x. NumObjectsReq -> Rep NumObjectsReq x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NumObjectsReq -> Rep NumObjectsReq x
from :: forall x. NumObjectsReq -> Rep NumObjectsReq x
$cto :: forall x. Rep NumObjectsReq x -> NumObjectsReq
to :: forall x. Rep NumObjectsReq x -> NumObjectsReq
Generic)
deriving newtype (Integer -> NumObjectsReq
NumObjectsReq -> NumObjectsReq
NumObjectsReq -> NumObjectsReq -> NumObjectsReq
(NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq)
-> (Integer -> NumObjectsReq)
-> Num NumObjectsReq
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
$c+ :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
+ :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$c- :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
- :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$c* :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
* :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$cnegate :: NumObjectsReq -> NumObjectsReq
negate :: NumObjectsReq -> NumObjectsReq
$cabs :: NumObjectsReq -> NumObjectsReq
abs :: NumObjectsReq -> NumObjectsReq
$csignum :: NumObjectsReq -> NumObjectsReq
signum :: NumObjectsReq -> NumObjectsReq
$cfromInteger :: Integer -> NumObjectsReq
fromInteger :: Integer -> NumObjectsReq
Num, Int -> NumObjectsReq
NumObjectsReq -> Int
NumObjectsReq -> [NumObjectsReq]
NumObjectsReq -> NumObjectsReq
NumObjectsReq -> NumObjectsReq -> [NumObjectsReq]
NumObjectsReq -> NumObjectsReq -> NumObjectsReq -> [NumObjectsReq]
(NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq)
-> (Int -> NumObjectsReq)
-> (NumObjectsReq -> Int)
-> (NumObjectsReq -> [NumObjectsReq])
-> (NumObjectsReq -> NumObjectsReq -> [NumObjectsReq])
-> (NumObjectsReq -> NumObjectsReq -> [NumObjectsReq])
-> (NumObjectsReq
-> NumObjectsReq -> NumObjectsReq -> [NumObjectsReq])
-> Enum NumObjectsReq
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: NumObjectsReq -> NumObjectsReq
succ :: NumObjectsReq -> NumObjectsReq
$cpred :: NumObjectsReq -> NumObjectsReq
pred :: NumObjectsReq -> NumObjectsReq
$ctoEnum :: Int -> NumObjectsReq
toEnum :: Int -> NumObjectsReq
$cfromEnum :: NumObjectsReq -> Int
fromEnum :: NumObjectsReq -> Int
$cenumFrom :: NumObjectsReq -> [NumObjectsReq]
enumFrom :: NumObjectsReq -> [NumObjectsReq]
$cenumFromThen :: NumObjectsReq -> NumObjectsReq -> [NumObjectsReq]
enumFromThen :: NumObjectsReq -> NumObjectsReq -> [NumObjectsReq]
$cenumFromTo :: NumObjectsReq -> NumObjectsReq -> [NumObjectsReq]
enumFromTo :: NumObjectsReq -> NumObjectsReq -> [NumObjectsReq]
$cenumFromThenTo :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq -> [NumObjectsReq]
enumFromThenTo :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq -> [NumObjectsReq]
Enum, Num NumObjectsReq
Ord NumObjectsReq
(Num NumObjectsReq, Ord NumObjectsReq) =>
(NumObjectsReq -> Rational) -> Real NumObjectsReq
NumObjectsReq -> Rational
forall a. (Num a, Ord a) => (a -> Rational) -> Real a
$ctoRational :: NumObjectsReq -> Rational
toRational :: NumObjectsReq -> Rational
Real, Enum NumObjectsReq
Real NumObjectsReq
(Real NumObjectsReq, Enum NumObjectsReq) =>
(NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NumObjectsReq
-> NumObjectsReq -> (NumObjectsReq, NumObjectsReq))
-> (NumObjectsReq
-> NumObjectsReq -> (NumObjectsReq, NumObjectsReq))
-> (NumObjectsReq -> Integer)
-> Integral NumObjectsReq
NumObjectsReq -> Integer
NumObjectsReq -> NumObjectsReq -> (NumObjectsReq, NumObjectsReq)
NumObjectsReq -> NumObjectsReq -> NumObjectsReq
forall a.
(Real a, Enum a) =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
$cquot :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
quot :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$crem :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
rem :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$cdiv :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
div :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$cmod :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
mod :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$cquotRem :: NumObjectsReq -> NumObjectsReq -> (NumObjectsReq, NumObjectsReq)
quotRem :: NumObjectsReq -> NumObjectsReq -> (NumObjectsReq, NumObjectsReq)
$cdivMod :: NumObjectsReq -> NumObjectsReq -> (NumObjectsReq, NumObjectsReq)
divMod :: NumObjectsReq -> NumObjectsReq -> (NumObjectsReq, NumObjectsReq)
$ctoInteger :: NumObjectsReq -> Integer
toInteger :: NumObjectsReq -> Integer
Integral, NumObjectsReq
NumObjectsReq -> NumObjectsReq -> Bounded NumObjectsReq
forall a. a -> a -> Bounded a
$cminBound :: NumObjectsReq
minBound :: NumObjectsReq
$cmaxBound :: NumObjectsReq
maxBound :: NumObjectsReq
Bounded, [String] -> NumObjectsReq -> IO (Maybe ThunkInfo)
Proxy NumObjectsReq -> String
([String] -> NumObjectsReq -> IO (Maybe ThunkInfo))
-> ([String] -> NumObjectsReq -> IO (Maybe ThunkInfo))
-> (Proxy NumObjectsReq -> String)
-> NoThunks NumObjectsReq
forall a.
([String] -> a -> IO (Maybe ThunkInfo))
-> ([String] -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: [String] -> NumObjectsReq -> IO (Maybe ThunkInfo)
noThunks :: [String] -> NumObjectsReq -> IO (Maybe ThunkInfo)
$cwNoThunks :: [String] -> NumObjectsReq -> IO (Maybe ThunkInfo)
wNoThunks :: [String] -> NumObjectsReq -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy NumObjectsReq -> String
showTypeOf :: Proxy NumObjectsReq -> String
NoThunks)
deriving (NonEmpty NumObjectsReq -> NumObjectsReq
NumObjectsReq -> NumObjectsReq -> NumObjectsReq
(NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> (NonEmpty NumObjectsReq -> NumObjectsReq)
-> (forall b. Integral b => b -> NumObjectsReq -> NumObjectsReq)
-> Semigroup NumObjectsReq
forall b. Integral b => b -> NumObjectsReq -> NumObjectsReq
forall a.
(a -> a -> a)
-> (NonEmpty a -> a)
-> (forall b. Integral b => b -> a -> a)
-> Semigroup a
$c<> :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
<> :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$csconcat :: NonEmpty NumObjectsReq -> NumObjectsReq
sconcat :: NonEmpty NumObjectsReq -> NumObjectsReq
$cstimes :: forall b. Integral b => b -> NumObjectsReq -> NumObjectsReq
stimes :: forall b. Integral b => b -> NumObjectsReq -> NumObjectsReq
Semigroup) via (Sum Word16)
deriving (Semigroup NumObjectsReq
NumObjectsReq
Semigroup NumObjectsReq =>
NumObjectsReq
-> (NumObjectsReq -> NumObjectsReq -> NumObjectsReq)
-> ([NumObjectsReq] -> NumObjectsReq)
-> Monoid NumObjectsReq
[NumObjectsReq] -> NumObjectsReq
NumObjectsReq -> NumObjectsReq -> NumObjectsReq
forall a.
Semigroup a =>
a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
$cmempty :: NumObjectsReq
mempty :: NumObjectsReq
$cmappend :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
mappend :: NumObjectsReq -> NumObjectsReq -> NumObjectsReq
$cmconcat :: [NumObjectsReq] -> NumObjectsReq
mconcat :: [NumObjectsReq] -> NumObjectsReq
Monoid) via (Sum Word16)
deriving (Int -> NumObjectsReq -> ShowS
[NumObjectsReq] -> ShowS
NumObjectsReq -> String
(Int -> NumObjectsReq -> ShowS)
-> (NumObjectsReq -> String)
-> ([NumObjectsReq] -> ShowS)
-> Show NumObjectsReq
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NumObjectsReq -> ShowS
showsPrec :: Int -> NumObjectsReq -> ShowS
$cshow :: NumObjectsReq -> String
show :: NumObjectsReq -> String
$cshowList :: [NumObjectsReq] -> ShowS
showList :: [NumObjectsReq] -> ShowS
Show) via (Quiet NumObjectsReq)
newtype NumObjectsUnacknowledged = NumObjectsUnacknowledged {NumObjectsUnacknowledged -> Word16
getNumObjectsUnacknowledged :: Word16}
deriving (NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
(NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool)
-> Eq NumObjectsUnacknowledged
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
== :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
$c/= :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
/= :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
Eq, Eq NumObjectsUnacknowledged
Eq NumObjectsUnacknowledged =>
(NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Ordering)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool)
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> Ord NumObjectsUnacknowledged
NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Ordering
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Ordering
compare :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Ordering
$c< :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
< :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
$c<= :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
<= :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
$c> :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
> :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
$c>= :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
>= :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged -> Bool
$cmax :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
max :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cmin :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
min :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
Ord, NumObjectsUnacknowledged -> ()
(NumObjectsUnacknowledged -> ()) -> NFData NumObjectsUnacknowledged
forall a. (a -> ()) -> NFData a
$crnf :: NumObjectsUnacknowledged -> ()
rnf :: NumObjectsUnacknowledged -> ()
NFData, (forall x.
NumObjectsUnacknowledged -> Rep NumObjectsUnacknowledged x)
-> (forall x.
Rep NumObjectsUnacknowledged x -> NumObjectsUnacknowledged)
-> Generic NumObjectsUnacknowledged
forall x.
Rep NumObjectsUnacknowledged x -> NumObjectsUnacknowledged
forall x.
NumObjectsUnacknowledged -> Rep NumObjectsUnacknowledged x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
NumObjectsUnacknowledged -> Rep NumObjectsUnacknowledged x
from :: forall x.
NumObjectsUnacknowledged -> Rep NumObjectsUnacknowledged x
$cto :: forall x.
Rep NumObjectsUnacknowledged x -> NumObjectsUnacknowledged
to :: forall x.
Rep NumObjectsUnacknowledged x -> NumObjectsUnacknowledged
Generic)
deriving newtype (Integer -> NumObjectsUnacknowledged
NumObjectsUnacknowledged -> NumObjectsUnacknowledged
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
(NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (Integer -> NumObjectsUnacknowledged)
-> Num NumObjectsUnacknowledged
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
$c+ :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
+ :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$c- :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
- :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$c* :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
* :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cnegate :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
negate :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cabs :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
abs :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$csignum :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
signum :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cfromInteger :: Integer -> NumObjectsUnacknowledged
fromInteger :: Integer -> NumObjectsUnacknowledged
Num, Int -> NumObjectsUnacknowledged
NumObjectsUnacknowledged -> Int
NumObjectsUnacknowledged -> [NumObjectsUnacknowledged]
NumObjectsUnacknowledged -> NumObjectsUnacknowledged
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged]
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> [NumObjectsUnacknowledged]
(NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (Int -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged -> Int)
-> (NumObjectsUnacknowledged -> [NumObjectsUnacknowledged])
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged])
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged])
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> [NumObjectsUnacknowledged])
-> Enum NumObjectsUnacknowledged
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
succ :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cpred :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
pred :: NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$ctoEnum :: Int -> NumObjectsUnacknowledged
toEnum :: Int -> NumObjectsUnacknowledged
$cfromEnum :: NumObjectsUnacknowledged -> Int
fromEnum :: NumObjectsUnacknowledged -> Int
$cenumFrom :: NumObjectsUnacknowledged -> [NumObjectsUnacknowledged]
enumFrom :: NumObjectsUnacknowledged -> [NumObjectsUnacknowledged]
$cenumFromThen :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged]
enumFromThen :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged]
$cenumFromTo :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged]
enumFromTo :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> [NumObjectsUnacknowledged]
$cenumFromThenTo :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> [NumObjectsUnacknowledged]
enumFromThenTo :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> [NumObjectsUnacknowledged]
Enum, Num NumObjectsUnacknowledged
Ord NumObjectsUnacknowledged
(Num NumObjectsUnacknowledged, Ord NumObjectsUnacknowledged) =>
(NumObjectsUnacknowledged -> Rational)
-> Real NumObjectsUnacknowledged
NumObjectsUnacknowledged -> Rational
forall a. (Num a, Ord a) => (a -> Rational) -> Real a
$ctoRational :: NumObjectsUnacknowledged -> Rational
toRational :: NumObjectsUnacknowledged -> Rational
Real, Enum NumObjectsUnacknowledged
Real NumObjectsUnacknowledged
(Real NumObjectsUnacknowledged, Enum NumObjectsUnacknowledged) =>
(NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> (NumObjectsUnacknowledged, NumObjectsUnacknowledged))
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> (NumObjectsUnacknowledged, NumObjectsUnacknowledged))
-> (NumObjectsUnacknowledged -> Integer)
-> Integral NumObjectsUnacknowledged
NumObjectsUnacknowledged -> Integer
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> (NumObjectsUnacknowledged, NumObjectsUnacknowledged)
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
forall a.
(Real a, Enum a) =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
$cquot :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
quot :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$crem :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
rem :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cdiv :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
div :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cmod :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
mod :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cquotRem :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> (NumObjectsUnacknowledged, NumObjectsUnacknowledged)
quotRem :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> (NumObjectsUnacknowledged, NumObjectsUnacknowledged)
$cdivMod :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> (NumObjectsUnacknowledged, NumObjectsUnacknowledged)
divMod :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged
-> (NumObjectsUnacknowledged, NumObjectsUnacknowledged)
$ctoInteger :: NumObjectsUnacknowledged -> Integer
toInteger :: NumObjectsUnacknowledged -> Integer
Integral, NumObjectsUnacknowledged
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> Bounded NumObjectsUnacknowledged
forall a. a -> a -> Bounded a
$cminBound :: NumObjectsUnacknowledged
minBound :: NumObjectsUnacknowledged
$cmaxBound :: NumObjectsUnacknowledged
maxBound :: NumObjectsUnacknowledged
Bounded, [String] -> NumObjectsUnacknowledged -> IO (Maybe ThunkInfo)
Proxy NumObjectsUnacknowledged -> String
([String] -> NumObjectsUnacknowledged -> IO (Maybe ThunkInfo))
-> ([String] -> NumObjectsUnacknowledged -> IO (Maybe ThunkInfo))
-> (Proxy NumObjectsUnacknowledged -> String)
-> NoThunks NumObjectsUnacknowledged
forall a.
([String] -> a -> IO (Maybe ThunkInfo))
-> ([String] -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: [String] -> NumObjectsUnacknowledged -> IO (Maybe ThunkInfo)
noThunks :: [String] -> NumObjectsUnacknowledged -> IO (Maybe ThunkInfo)
$cwNoThunks :: [String] -> NumObjectsUnacknowledged -> IO (Maybe ThunkInfo)
wNoThunks :: [String] -> NumObjectsUnacknowledged -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy NumObjectsUnacknowledged -> String
showTypeOf :: Proxy NumObjectsUnacknowledged -> String
NoThunks)
deriving (NonEmpty NumObjectsUnacknowledged -> NumObjectsUnacknowledged
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
(NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (NonEmpty NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> (forall b.
Integral b =>
b -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> Semigroup NumObjectsUnacknowledged
forall b.
Integral b =>
b -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
forall a.
(a -> a -> a)
-> (NonEmpty a -> a)
-> (forall b. Integral b => b -> a -> a)
-> Semigroup a
$c<> :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
<> :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$csconcat :: NonEmpty NumObjectsUnacknowledged -> NumObjectsUnacknowledged
sconcat :: NonEmpty NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cstimes :: forall b.
Integral b =>
b -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
stimes :: forall b.
Integral b =>
b -> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
Semigroup) via (Sum Word16)
deriving (Semigroup NumObjectsUnacknowledged
NumObjectsUnacknowledged
Semigroup NumObjectsUnacknowledged =>
NumObjectsUnacknowledged
-> (NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged)
-> ([NumObjectsUnacknowledged] -> NumObjectsUnacknowledged)
-> Monoid NumObjectsUnacknowledged
[NumObjectsUnacknowledged] -> NumObjectsUnacknowledged
NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
forall a.
Semigroup a =>
a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
$cmempty :: NumObjectsUnacknowledged
mempty :: NumObjectsUnacknowledged
$cmappend :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
mappend :: NumObjectsUnacknowledged
-> NumObjectsUnacknowledged -> NumObjectsUnacknowledged
$cmconcat :: [NumObjectsUnacknowledged] -> NumObjectsUnacknowledged
mconcat :: [NumObjectsUnacknowledged] -> NumObjectsUnacknowledged
Monoid) via (Sum Word16)
deriving (Int -> NumObjectsUnacknowledged -> ShowS
[NumObjectsUnacknowledged] -> ShowS
NumObjectsUnacknowledged -> String
(Int -> NumObjectsUnacknowledged -> ShowS)
-> (NumObjectsUnacknowledged -> String)
-> ([NumObjectsUnacknowledged] -> ShowS)
-> Show NumObjectsUnacknowledged
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NumObjectsUnacknowledged -> ShowS
showsPrec :: Int -> NumObjectsUnacknowledged -> ShowS
$cshow :: NumObjectsUnacknowledged -> String
show :: NumObjectsUnacknowledged -> String
$cshowList :: [NumObjectsUnacknowledged] -> ShowS
showList :: [NumObjectsUnacknowledged] -> ShowS
Show) via (Quiet NumObjectsUnacknowledged)
instance Protocol (ObjectDiffusion objectId object) where
data Message (ObjectDiffusion objectId object) from to where
MsgInit
:: Message (ObjectDiffusion objectId object) StInit StIdle
MsgRequestObjectIds
:: forall (blocking :: StBlockingStyle) objectId object.
SingBlockingStyle blocking
-> NumObjectIdsAck
-> NumObjectIdsReq
-> Message (ObjectDiffusion objectId object) StIdle (StObjectIds blocking)
MsgReplyObjectIds
:: BlockingReplyList blocking objectId
-> Message (ObjectDiffusion objectId object) (StObjectIds blocking) StIdle
MsgRequestObjects
:: [objectId]
-> Message (ObjectDiffusion objectId object) StIdle StObjects
MsgReplyObjects
:: [object]
-> Message (ObjectDiffusion objectId object) StObjects StIdle
MsgDone
:: Message (ObjectDiffusion objectId object) StIdle StDone
type StateAgency StInit = ClientAgency
type StateAgency StIdle = ClientAgency
type StateAgency (StObjectIds b) = ServerAgency
type StateAgency StObjects = ServerAgency
type StateAgency StDone = NobodyAgency
type StateToken = SingObjectDiffusion
instance ( NFData objectId
, NFData object
)
=> NFData (Message (ObjectDiffusion objectId object) from to) where
rnf :: Message (ObjectDiffusion objectId object) from to -> ()
rnf Message (ObjectDiffusion objectId object) from to
R:MessageObjectDiffusionfromto objectId object from to
MsgInit = ()
rnf (MsgRequestObjectIds SingBlockingStyle blocking
tkbs NumObjectIdsAck
w1 NumObjectIdsReq
w2) = SingBlockingStyle blocking -> ()
forall a. NFData a => a -> ()
rnf SingBlockingStyle blocking
tkbs () -> () -> ()
forall a b. a -> b -> b
`seq` NumObjectIdsAck -> ()
forall a. NFData a => a -> ()
rnf NumObjectIdsAck
w1 () -> () -> ()
forall a b. a -> b -> b
`seq` NumObjectIdsReq -> ()
forall a. NFData a => a -> ()
rnf NumObjectIdsReq
w2
rnf (MsgReplyObjectIds BlockingReplyList blocking objectId
brl) = BlockingReplyList blocking objectId -> ()
forall a. NFData a => a -> ()
rnf BlockingReplyList blocking objectId
brl
rnf (MsgRequestObjects [objectId]
objIds) = [objectId] -> ()
forall a. NFData a => a -> ()
rnf [objectId]
objIds
rnf (MsgReplyObjects [object]
objects) = [object] -> ()
forall a. NFData a => a -> ()
rnf [object]
objects
rnf Message (ObjectDiffusion objectId object) from to
R:MessageObjectDiffusionfromto objectId object from to
MsgDone = ()
deriving instance (Eq objectId, Eq object)
=> Eq (Message (ObjectDiffusion objectId object) from to)
deriving instance (Show objectId, Show object)
=> Show (Message (ObjectDiffusion objectId object) from to)