module Network.AMQP.Generated where

import Data.Binary
import Data.Binary.Get
import Data.Binary.Put
import Data.Bits
import Data.Maybe
import Network.AMQP.Types

getContentHeaderProperties :: ShortInt -> Get ContentHeaderProperties
getContentHeaderProperties :: ShortInt -> Get ContentHeaderProperties
getContentHeaderProperties ShortInt
10 = Int -> Get [Bit]
getPropBits Int
0 Get [Bit]
-> ([Bit] -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[] ->  ContentHeaderProperties -> Get ContentHeaderProperties
forall (m :: * -> *) a. Monad m => a -> m a
return ContentHeaderProperties
CHConnection
getContentHeaderProperties ShortInt
20 = Int -> Get [Bit]
getPropBits Int
0 Get [Bit]
-> ([Bit] -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[] ->  ContentHeaderProperties -> Get ContentHeaderProperties
forall (m :: * -> *) a. Monad m => a -> m a
return ContentHeaderProperties
CHChannel
getContentHeaderProperties ShortInt
40 = Int -> Get [Bit]
getPropBits Int
0 Get [Bit]
-> ([Bit] -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[] ->  ContentHeaderProperties -> Get ContentHeaderProperties
forall (m :: * -> *) a. Monad m => a -> m a
return ContentHeaderProperties
CHExchange
getContentHeaderProperties ShortInt
50 = Int -> Get [Bit]
getPropBits Int
0 Get [Bit]
-> ([Bit] -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[] ->  ContentHeaderProperties -> Get ContentHeaderProperties
forall (m :: * -> *) a. Monad m => a -> m a
return ContentHeaderProperties
CHQueue
getContentHeaderProperties ShortInt
60 = Int -> Get [Bit]
getPropBits Int
14 Get [Bit]
-> ([Bit] -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[Bit
a,Bit
b,Bit
c,Bit
d,Bit
e,Bit
f,Bit
g,Bit
h,Bit
i,Bit
j,Bit
k,Bit
l,Bit
m,Bit
n] -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
a Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
a' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
b Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
b' -> Bit -> Get (Maybe FieldTable)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
c Get (Maybe FieldTable)
-> (Maybe FieldTable -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe FieldTable
c' -> Bit -> Get (Maybe Octet)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
d Get (Maybe Octet)
-> (Maybe Octet -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe Octet
d' -> Bit -> Get (Maybe Octet)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
e Get (Maybe Octet)
-> (Maybe Octet -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe Octet
e' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
f Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
f' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
g Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
g' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
h Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
h' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
i Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
i' -> Bit -> Get (Maybe Timestamp)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
j Get (Maybe Timestamp)
-> (Maybe Timestamp -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe Timestamp
j' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
k Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
k' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
l Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
l' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
m Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
m' -> Bit -> Get (Maybe ShortString)
forall a. Binary a => Bit -> Get (Maybe a)
condGet Bit
n Get (Maybe ShortString)
-> (Maybe ShortString -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Maybe ShortString
n' ->  ContentHeaderProperties -> Get ContentHeaderProperties
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe ShortString
-> Maybe ShortString
-> Maybe FieldTable
-> Maybe Octet
-> Maybe Octet
-> Maybe ShortString
-> Maybe ShortString
-> Maybe ShortString
-> Maybe ShortString
-> Maybe Timestamp
-> Maybe ShortString
-> Maybe ShortString
-> Maybe ShortString
-> Maybe ShortString
-> ContentHeaderProperties
CHBasic Maybe ShortString
a' Maybe ShortString
b' Maybe FieldTable
c' Maybe Octet
d' Maybe Octet
e' Maybe ShortString
f' Maybe ShortString
g' Maybe ShortString
h' Maybe ShortString
i' Maybe Timestamp
j' Maybe ShortString
k' Maybe ShortString
l' Maybe ShortString
m' Maybe ShortString
n' )
getContentHeaderProperties ShortInt
90 = Int -> Get [Bit]
getPropBits Int
0 Get [Bit]
-> ([Bit] -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[] ->  ContentHeaderProperties -> Get ContentHeaderProperties
forall (m :: * -> *) a. Monad m => a -> m a
return ContentHeaderProperties
CHTx
getContentHeaderProperties ShortInt
85 = Int -> Get [Bit]
getPropBits Int
0 Get [Bit]
-> ([Bit] -> Get ContentHeaderProperties)
-> Get ContentHeaderProperties
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[] ->  ContentHeaderProperties -> Get ContentHeaderProperties
forall (m :: * -> *) a. Monad m => a -> m a
return ContentHeaderProperties
CHConfirm

getContentHeaderProperties ShortInt
n = [Char] -> Get ContentHeaderProperties
forall a. HasCallStack => [Char] -> a
error ([Char]
"Unexpected content header properties: " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ ShortInt -> [Char]
forall a. Show a => a -> [Char]
show ShortInt
n)
putContentHeaderProperties :: ContentHeaderProperties -> Put
putContentHeaderProperties :: ContentHeaderProperties -> Put
putContentHeaderProperties ContentHeaderProperties
CHConnection = [Bit] -> Put
putPropBits []
putContentHeaderProperties ContentHeaderProperties
CHChannel = [Bit] -> Put
putPropBits []
putContentHeaderProperties ContentHeaderProperties
CHExchange = [Bit] -> Put
putPropBits []
putContentHeaderProperties ContentHeaderProperties
CHQueue = [Bit] -> Put
putPropBits []
putContentHeaderProperties (CHBasic Maybe ShortString
a Maybe ShortString
b Maybe FieldTable
c Maybe Octet
d Maybe Octet
e Maybe ShortString
f Maybe ShortString
g Maybe ShortString
h Maybe ShortString
i Maybe Timestamp
j Maybe ShortString
k Maybe ShortString
l Maybe ShortString
m Maybe ShortString
n) = [Bit] -> Put
putPropBits [Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
a,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
b,Maybe FieldTable -> Bit
forall a. Maybe a -> Bit
isJust Maybe FieldTable
c,Maybe Octet -> Bit
forall a. Maybe a -> Bit
isJust Maybe Octet
d,Maybe Octet -> Bit
forall a. Maybe a -> Bit
isJust Maybe Octet
e,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
f,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
g,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
h,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
i,Maybe Timestamp -> Bit
forall a. Maybe a -> Bit
isJust Maybe Timestamp
j,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
k,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
l,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
m,Maybe ShortString -> Bit
forall a. Maybe a -> Bit
isJust Maybe ShortString
n]  Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe FieldTable -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe FieldTable
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe Octet -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe Octet
d Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe Octet -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe Octet
e Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
f Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
g Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
h Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
i Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe Timestamp -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe Timestamp
j Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
k Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
l Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
m Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Maybe ShortString -> Put
forall a. Binary a => Maybe a -> Put
condPut Maybe ShortString
n
putContentHeaderProperties ContentHeaderProperties
CHTx = [Bit] -> Put
putPropBits []
putContentHeaderProperties ContentHeaderProperties
CHConfirm = [Bit] -> Put
putPropBits []

getClassIDOf :: ContentHeaderProperties -> ShortInt
getClassIDOf :: ContentHeaderProperties -> ShortInt
getClassIDOf (ContentHeaderProperties
CHConnection) = ShortInt
10
getClassIDOf (ContentHeaderProperties
CHChannel) = ShortInt
20
getClassIDOf (ContentHeaderProperties
CHExchange) = ShortInt
40
getClassIDOf (ContentHeaderProperties
CHQueue) = ShortInt
50
getClassIDOf (CHBasic Maybe ShortString
_ Maybe ShortString
_ Maybe FieldTable
_ Maybe Octet
_ Maybe Octet
_ Maybe ShortString
_ Maybe ShortString
_ Maybe ShortString
_ Maybe ShortString
_ Maybe Timestamp
_ Maybe ShortString
_ Maybe ShortString
_ Maybe ShortString
_ Maybe ShortString
_) = ShortInt
60
getClassIDOf (ContentHeaderProperties
CHTx) = ShortInt
90
getClassIDOf (ContentHeaderProperties
CHConfirm) = ShortInt
85

data ContentHeaderProperties =
    CHConnection

    |CHChannel

    |CHExchange

    |CHQueue

    |CHBasic
        (Maybe ShortString) -- content-type

        (Maybe ShortString) -- content-encoding

        (Maybe FieldTable) -- headers

        (Maybe Octet) -- delivery-mode

        (Maybe Octet) -- priority

        (Maybe ShortString) -- correlation-id

        (Maybe ShortString) -- reply-to

        (Maybe ShortString) -- expiration

        (Maybe ShortString) -- message-id

        (Maybe Timestamp) -- timestamp

        (Maybe ShortString) -- typ

        (Maybe ShortString) -- user-id

        (Maybe ShortString) -- app-id

        (Maybe ShortString) -- reserved

    |CHTx

    |CHConfirm


    deriving Int -> ContentHeaderProperties -> [Char] -> [Char]
[ContentHeaderProperties] -> [Char] -> [Char]
ContentHeaderProperties -> [Char]
(Int -> ContentHeaderProperties -> [Char] -> [Char])
-> (ContentHeaderProperties -> [Char])
-> ([ContentHeaderProperties] -> [Char] -> [Char])
-> Show ContentHeaderProperties
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
showList :: [ContentHeaderProperties] -> [Char] -> [Char]
$cshowList :: [ContentHeaderProperties] -> [Char] -> [Char]
show :: ContentHeaderProperties -> [Char]
$cshow :: ContentHeaderProperties -> [Char]
showsPrec :: Int -> ContentHeaderProperties -> [Char] -> [Char]
$cshowsPrec :: Int -> ContentHeaderProperties -> [Char] -> [Char]
Show

--Bits need special handling because AMQP requires contiguous bits to be packed into a Word8

-- | Packs up to 8 bits into a Word8

putBits :: [Bit] -> Put
putBits :: [Bit] -> Put
putBits = Octet -> Put
putWord8 (Octet -> Put) -> ([Bit] -> Octet) -> [Bit] -> Put
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> [Bit] -> Octet
putBits' Int
0
putBits' :: Int -> [Bit] -> Word8
putBits' :: Int -> [Bit] -> Octet
putBits' Int
_ [] = Octet
0
putBits' Int
offset (Bit
x:[Bit]
xs) = (Octet -> Int -> Octet
forall a. Bits a => a -> Int -> a
shiftL (Bit -> Octet
forall p. Num p => Bit -> p
toInt Bit
x) Int
offset) Octet -> Octet -> Octet
forall a. Bits a => a -> a -> a
.|. (Int -> [Bit] -> Octet
putBits' (Int
offsetInt -> Int -> Int
forall a. Num a => a -> a -> a
+Int
1) [Bit]
xs)
    where toInt :: Bit -> p
toInt Bit
True = p
1
          toInt Bit
False = p
0
getBits :: Int -> Get [Bit]
getBits :: Int -> Get [Bit]
getBits Int
num = Get Octet
getWord8 Get Octet -> (Octet -> Get [Bit]) -> Get [Bit]
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Bit] -> Get [Bit]
forall (m :: * -> *) a. Monad m => a -> m a
return ([Bit] -> Get [Bit]) -> (Octet -> [Bit]) -> Octet -> Get [Bit]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int -> Octet -> [Bit]
getBits' Int
num Int
0
getBits' :: Int -> Int -> Word8 -> [Bit]
getBits' :: Int -> Int -> Octet -> [Bit]
getBits' Int
0 Int
_ Octet
_ = []
getBits' Int
num Int
offset Octet
x = ((Octet
x Octet -> Octet -> Octet
forall a. Bits a => a -> a -> a
.&. (Octet
2Octet -> Int -> Octet
forall a b. (Num a, Integral b) => a -> b -> a
^Int
offset)) Octet -> Octet -> Bit
forall a. Eq a => a -> a -> Bit
/= Octet
0) Bit -> [Bit] -> [Bit]
forall a. a -> [a] -> [a]
: (Int -> Int -> Octet -> [Bit]
getBits' (Int
numInt -> Int -> Int
forall a. Num a => a -> a -> a
-Int
1) (Int
offsetInt -> Int -> Int
forall a. Num a => a -> a -> a
+Int
1) Octet
x)
-- | Packs up to 15 Bits into a Word16 (=Property Flags)

putPropBits :: [Bit] -> Put
putPropBits :: [Bit] -> Put
putPropBits = ShortInt -> Put
putWord16be (ShortInt -> Put) -> ([Bit] -> ShortInt) -> [Bit] -> Put
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> [Bit] -> ShortInt
putPropBits' Int
0
putPropBits' :: Int -> [Bit] -> Word16
putPropBits' :: Int -> [Bit] -> ShortInt
putPropBits' Int
_ [] = ShortInt
0
putPropBits' Int
offset (Bit
x:[Bit]
xs) = (ShortInt -> Int -> ShortInt
forall a. Bits a => a -> Int -> a
shiftL (Bit -> ShortInt
forall p. Num p => Bit -> p
toInt Bit
x) (Int
15Int -> Int -> Int
forall a. Num a => a -> a -> a
-Int
offset)) ShortInt -> ShortInt -> ShortInt
forall a. Bits a => a -> a -> a
.|. (Int -> [Bit] -> ShortInt
putPropBits' (Int
offsetInt -> Int -> Int
forall a. Num a => a -> a -> a
+Int
1) [Bit]
xs)
    where toInt :: Bit -> p
toInt Bit
True = p
1
          toInt Bit
False = p
0
getPropBits :: Int -> Get [Bit]
getPropBits :: Int -> Get [Bit]
getPropBits Int
num = Get ShortInt
getWord16be Get ShortInt -> (ShortInt -> Get [Bit]) -> Get [Bit]
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= [Bit] -> Get [Bit]
forall (m :: * -> *) a. Monad m => a -> m a
return ([Bit] -> Get [Bit])
-> (ShortInt -> [Bit]) -> ShortInt -> Get [Bit]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int -> ShortInt -> [Bit]
getPropBits' Int
num Int
0
getPropBits' :: Int -> Int -> Word16 -> [Bit]
getPropBits' :: Int -> Int -> ShortInt -> [Bit]
getPropBits' Int
0 Int
_ ShortInt
_ = []
getPropBits' Int
num Int
offset ShortInt
x = ((ShortInt
x ShortInt -> ShortInt -> ShortInt
forall a. Bits a => a -> a -> a
.&. (ShortInt
2ShortInt -> Int -> ShortInt
forall a b. (Num a, Integral b) => a -> b -> a
^(Int
15Int -> Int -> Int
forall a. Num a => a -> a -> a
-Int
offset))) ShortInt -> ShortInt -> Bit
forall a. Eq a => a -> a -> Bit
/= ShortInt
0) Bit -> [Bit] -> [Bit]
forall a. a -> [a] -> [a]
: (Int -> Int -> ShortInt -> [Bit]
getPropBits' (Int
numInt -> Int -> Int
forall a. Num a => a -> a -> a
-Int
1) (Int
offsetInt -> Int -> Int
forall a. Num a => a -> a -> a
+Int
1) ShortInt
x)
condGet :: Binary a => Bool -> Get (Maybe a)
condGet :: Bit -> Get (Maybe a)
condGet Bit
False = Maybe a -> Get (Maybe a)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe a
forall a. Maybe a
Nothing
condGet Bit
True = Get a
forall t. Binary t => Get t
get Get a -> (a -> Get (Maybe a)) -> Get (Maybe a)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Maybe a -> Get (Maybe a)
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe a -> Get (Maybe a)) -> (a -> Maybe a) -> a -> Get (Maybe a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> Maybe a
forall a. a -> Maybe a
Just

condPut :: Binary a => Maybe a -> Put
condPut :: Maybe a -> Put
condPut = Put -> (a -> Put) -> Maybe a -> Put
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (() -> Put
forall (m :: * -> *) a. Monad m => a -> m a
return ()) a -> Put
forall t. Binary t => t -> Put
put
instance Binary MethodPayload where
    put :: MethodPayload -> Put
put (Connection_start Octet
a Octet
b FieldTable
c LongString
d LongString
e) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Octet -> Put
forall t. Binary t => t -> Put
put Octet
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Octet -> Put
forall t. Binary t => t -> Put
put Octet
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongString -> Put
forall t. Binary t => t -> Put
put LongString
d Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongString -> Put
forall t. Binary t => t -> Put
put LongString
e
    put (Connection_start_ok FieldTable
a ShortString
b LongString
c ShortString
d) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
11 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongString -> Put
forall t. Binary t => t -> Put
put LongString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
d
    put (Connection_secure LongString
a) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongString -> Put
forall t. Binary t => t -> Put
put LongString
a
    put (Connection_secure_ok LongString
a) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
21 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongString -> Put
forall t. Binary t => t -> Put
put LongString
a
    put (Connection_tune ShortInt
a LongInt
b ShortInt
c) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
30 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongInt -> Put
forall t. Binary t => t -> Put
put LongInt
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
c
    put (Connection_tune_ok ShortInt
a LongInt
b ShortInt
c) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
31 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongInt -> Put
forall t. Binary t => t -> Put
put LongInt
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
c
    put (Connection_open ShortString
a ShortString
b Bit
c) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
c
    put (Connection_open_ok ShortString
a) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
41 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a
    put (Connection_close ShortInt
a ShortString
b ShortInt
c ShortInt
d) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
d
    put MethodPayload
Connection_close_ok = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
51
    put (Connection_blocked ShortString
a) = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a
    put MethodPayload
Connection_unblocked = ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
61
    put (Channel_open ShortString
a) = ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a
    put (Channel_open_ok LongString
a) = ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
11 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongString -> Put
forall t. Binary t => t -> Put
put LongString
a
    put (Channel_flow Bit
a) = ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
a
    put (Channel_flow_ok Bit
a) = ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
21 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
a
    put (Channel_close ShortInt
a ShortString
b ShortInt
c ShortInt
d) = ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
d
    put MethodPayload
Channel_close_ok = ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
41
    put (Exchange_declare ShortInt
a ShortString
b ShortString
c Bit
d Bit
e Bit
f Bit
g Bit
h FieldTable
i) = ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> [Bit] -> Put
putBits [Bit
d,Bit
e,Bit
f,Bit
g,Bit
h] Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
i
    put MethodPayload
Exchange_declare_ok = ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
11
    put (Exchange_delete ShortInt
a ShortString
b Bit
c Bit
d) = ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> [Bit] -> Put
putBits [Bit
c,Bit
d]
    put MethodPayload
Exchange_delete_ok = ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
21
    put (Exchange_bind ShortInt
a ShortString
b ShortString
c ShortString
d Bit
e FieldTable
f) = ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
30 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
d Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
e Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
f
    put MethodPayload
Exchange_bind_ok = ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
31
    put (Exchange_unbind ShortInt
a ShortString
b ShortString
c ShortString
d Bit
e FieldTable
f) = ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
d Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
e Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
f
    put MethodPayload
Exchange_unbind_ok = ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
51
    put (Queue_declare ShortInt
a ShortString
b Bit
c Bit
d Bit
e Bit
f Bit
g FieldTable
h) = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> [Bit] -> Put
putBits [Bit
c,Bit
d,Bit
e,Bit
f,Bit
g] Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
h
    put (Queue_declare_ok ShortString
a LongInt
b LongInt
c) = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
11 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongInt -> Put
forall t. Binary t => t -> Put
put LongInt
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongInt -> Put
forall t. Binary t => t -> Put
put LongInt
c
    put (Queue_bind ShortInt
a ShortString
b ShortString
c ShortString
d Bit
e FieldTable
f) = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
d Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
e Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
f
    put MethodPayload
Queue_bind_ok = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
21
    put (Queue_unbind ShortInt
a ShortString
b ShortString
c ShortString
d FieldTable
e) = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
d Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
e
    put MethodPayload
Queue_unbind_ok = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
51
    put (Queue_purge ShortInt
a ShortString
b Bit
c) = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
30 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
c
    put (Queue_purge_ok LongInt
a) = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
31 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongInt -> Put
forall t. Binary t => t -> Put
put LongInt
a
    put (Queue_delete ShortInt
a ShortString
b Bit
c Bit
d Bit
e) = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> [Bit] -> Put
putBits [Bit
c,Bit
d,Bit
e]
    put (Queue_delete_ok LongInt
a) = ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
41 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongInt -> Put
forall t. Binary t => t -> Put
put LongInt
a
    put (Basic_qos LongInt
a ShortInt
b Bit
c) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongInt -> Put
forall t. Binary t => t -> Put
put LongInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
c
    put MethodPayload
Basic_qos_ok = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
11
    put (Basic_consume ShortInt
a ShortString
b ShortString
c Bit
d Bit
e Bit
f Bit
g FieldTable
h) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
20 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> [Bit] -> Put
putBits [Bit
d,Bit
e,Bit
f,Bit
g] Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> FieldTable -> Put
forall t. Binary t => t -> Put
put FieldTable
h
    put (Basic_consume_ok ShortString
a) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
21 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a
    put (Basic_cancel ShortString
a Bit
b) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
30 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
b
    put (Basic_cancel_ok ShortString
a) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
31 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a
    put (Basic_publish ShortInt
a ShortString
b ShortString
c Bit
d Bit
e) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
40 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> [Bit] -> Put
putBits [Bit
d,Bit
e]
    put (Basic_return ShortInt
a ShortString
b ShortString
c ShortString
d) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
50 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
d
    put (Basic_deliver ShortString
a Timestamp
b Bit
c ShortString
d ShortString
e) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Timestamp -> Put
forall t. Binary t => t -> Put
put Timestamp
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
d Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
e
    put (Basic_get ShortInt
a ShortString
b Bit
c) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
70 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
forall t. Binary t => t -> Put
put ShortInt
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
c
    put (Basic_get_ok Timestamp
a Bit
b ShortString
c ShortString
d LongInt
e) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
71 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Timestamp -> Put
forall t. Binary t => t -> Put
put Timestamp
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
b Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
c Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
d Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> LongInt -> Put
forall t. Binary t => t -> Put
put LongInt
e
    put (Basic_get_empty ShortString
a) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
72 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortString -> Put
forall t. Binary t => t -> Put
put ShortString
a
    put (Basic_ack Timestamp
a Bit
b) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
80 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Timestamp -> Put
forall t. Binary t => t -> Put
put Timestamp
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
b
    put (Basic_reject Timestamp
a Bit
b) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
90 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Timestamp -> Put
forall t. Binary t => t -> Put
put Timestamp
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
b
    put (Basic_recover_async Bit
a) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
100 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
a
    put (Basic_recover Bit
a) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
110 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
a
    put MethodPayload
Basic_recover_ok = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
111
    put (Basic_nack Timestamp
a Bit
b Bit
c) = ShortInt -> Put
putWord16be ShortInt
60 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
120 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Timestamp -> Put
forall t. Binary t => t -> Put
put Timestamp
a Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> [Bit] -> Put
putBits [Bit
b,Bit
c]
    put MethodPayload
Tx_select = ShortInt -> Put
putWord16be ShortInt
90 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
10
    put MethodPayload
Tx_select_ok = ShortInt -> Put
putWord16be ShortInt
90 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
11
    put MethodPayload
Tx_commit = ShortInt -> Put
putWord16be ShortInt
90 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
20
    put MethodPayload
Tx_commit_ok = ShortInt -> Put
putWord16be ShortInt
90 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
21
    put MethodPayload
Tx_rollback = ShortInt -> Put
putWord16be ShortInt
90 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
30
    put MethodPayload
Tx_rollback_ok = ShortInt -> Put
putWord16be ShortInt
90 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
31
    put (Confirm_select Bit
a) = ShortInt -> Put
putWord16be ShortInt
85 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
10 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Bit -> Put
forall t. Binary t => t -> Put
put Bit
a
    put MethodPayload
Confirm_select_ok = ShortInt -> Put
putWord16be ShortInt
85 Put -> Put -> Put
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShortInt -> Put
putWord16be ShortInt
11
    get :: Get MethodPayload
get = do
        ShortInt
classID <- Get ShortInt
getWord16be
        ShortInt
methodID <- Get ShortInt
getWord16be
        case (ShortInt
classID, ShortInt
methodID) of
            (ShortInt
10,ShortInt
10) -> Get Octet
forall t. Binary t => Get t
get Get Octet -> (Octet -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Octet
a -> Get Octet
forall t. Binary t => Get t
get Get Octet -> (Octet -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Octet
b -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
c -> Get LongString
forall t. Binary t => Get t
get Get LongString
-> (LongString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongString
d -> Get LongString
forall t. Binary t => Get t
get Get LongString
-> (LongString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongString
e ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Octet
-> Octet -> FieldTable -> LongString -> LongString -> MethodPayload
Connection_start Octet
a Octet
b FieldTable
c LongString
d LongString
e)
            (ShortInt
10,ShortInt
11) -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get LongString
forall t. Binary t => Get t
get Get LongString
-> (LongString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongString
c -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
d ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (FieldTable
-> ShortString -> LongString -> ShortString -> MethodPayload
Connection_start_ok FieldTable
a ShortString
b LongString
c ShortString
d)
            (ShortInt
10,ShortInt
20) -> Get LongString
forall t. Binary t => Get t
get Get LongString
-> (LongString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (LongString -> MethodPayload
Connection_secure LongString
a)
            (ShortInt
10,ShortInt
21) -> Get LongString
forall t. Binary t => Get t
get Get LongString
-> (LongString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (LongString -> MethodPayload
Connection_secure_ok LongString
a)
            (ShortInt
10,ShortInt
30) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get LongInt
forall t. Binary t => Get t
get Get LongInt -> (LongInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongInt
b -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
c ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt -> LongInt -> ShortInt -> MethodPayload
Connection_tune ShortInt
a LongInt
b ShortInt
c)
            (ShortInt
10,ShortInt
31) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get LongInt
forall t. Binary t => Get t
get Get LongInt -> (LongInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongInt
b -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
c ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt -> LongInt -> ShortInt -> MethodPayload
Connection_tune_ok ShortInt
a LongInt
b ShortInt
c)
            (ShortInt
10,ShortInt
40) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
c ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> ShortString -> Bit -> MethodPayload
Connection_open ShortString
a ShortString
b Bit
c)
            (ShortInt
10,ShortInt
41) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> MethodPayload
Connection_open_ok ShortString
a)
            (ShortInt
10,ShortInt
50) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
c -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
d ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt -> ShortString -> ShortInt -> ShortInt -> MethodPayload
Connection_close ShortInt
a ShortString
b ShortInt
c ShortInt
d)
            (ShortInt
10,ShortInt
51) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Connection_close_ok
            (ShortInt
10,ShortInt
60) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> MethodPayload
Connection_blocked ShortString
a)
            (ShortInt
10,ShortInt
61) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Connection_unblocked
            (ShortInt
20,ShortInt
10) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> MethodPayload
Channel_open ShortString
a)
            (ShortInt
20,ShortInt
11) -> Get LongString
forall t. Binary t => Get t
get Get LongString
-> (LongString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (LongString -> MethodPayload
Channel_open_ok LongString
a)
            (ShortInt
20,ShortInt
20) -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Bit -> MethodPayload
Channel_flow Bit
a)
            (ShortInt
20,ShortInt
21) -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Bit -> MethodPayload
Channel_flow_ok Bit
a)
            (ShortInt
20,ShortInt
40) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
c -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
d ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt -> ShortString -> ShortInt -> ShortInt -> MethodPayload
Channel_close ShortInt
a ShortString
b ShortInt
c ShortInt
d)
            (ShortInt
20,ShortInt
41) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Channel_close_ok
            (ShortInt
40,ShortInt
10) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Int -> Get [Bit]
getBits Int
5 Get [Bit] -> ([Bit] -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[Bit
d,Bit
e,Bit
f,Bit
g,Bit
h] -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
i ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString
-> ShortString
-> Bit
-> Bit
-> Bit
-> Bit
-> Bit
-> FieldTable
-> MethodPayload
Exchange_declare ShortInt
a ShortString
b ShortString
c Bit
d Bit
e Bit
f Bit
g Bit
h FieldTable
i)
            (ShortInt
40,ShortInt
11) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Exchange_declare_ok
            (ShortInt
40,ShortInt
20) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Int -> Get [Bit]
getBits Int
2 Get [Bit] -> ([Bit] -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[Bit
c,Bit
d] ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt -> ShortString -> Bit -> Bit -> MethodPayload
Exchange_delete ShortInt
a ShortString
b Bit
c Bit
d)
            (ShortInt
40,ShortInt
21) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Exchange_delete_ok
            (ShortInt
40,ShortInt
30) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
d -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
e -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
f ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString
-> ShortString
-> ShortString
-> Bit
-> FieldTable
-> MethodPayload
Exchange_bind ShortInt
a ShortString
b ShortString
c ShortString
d Bit
e FieldTable
f)
            (ShortInt
40,ShortInt
31) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Exchange_bind_ok
            (ShortInt
40,ShortInt
40) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
d -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
e -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
f ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString
-> ShortString
-> ShortString
-> Bit
-> FieldTable
-> MethodPayload
Exchange_unbind ShortInt
a ShortString
b ShortString
c ShortString
d Bit
e FieldTable
f)
            (ShortInt
40,ShortInt
51) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Exchange_unbind_ok
            (ShortInt
50,ShortInt
10) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Int -> Get [Bit]
getBits Int
5 Get [Bit] -> ([Bit] -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[Bit
c,Bit
d,Bit
e,Bit
f,Bit
g] -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
h ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString
-> Bit
-> Bit
-> Bit
-> Bit
-> Bit
-> FieldTable
-> MethodPayload
Queue_declare ShortInt
a ShortString
b Bit
c Bit
d Bit
e Bit
f Bit
g FieldTable
h)
            (ShortInt
50,ShortInt
11) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a -> Get LongInt
forall t. Binary t => Get t
get Get LongInt -> (LongInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongInt
b -> Get LongInt
forall t. Binary t => Get t
get Get LongInt -> (LongInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongInt
c ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> LongInt -> LongInt -> MethodPayload
Queue_declare_ok ShortString
a LongInt
b LongInt
c)
            (ShortInt
50,ShortInt
20) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
d -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
e -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
f ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString
-> ShortString
-> ShortString
-> Bit
-> FieldTable
-> MethodPayload
Queue_bind ShortInt
a ShortString
b ShortString
c ShortString
d Bit
e FieldTable
f)
            (ShortInt
50,ShortInt
21) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Queue_bind_ok
            (ShortInt
50,ShortInt
50) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
d -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
e ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString
-> ShortString
-> ShortString
-> FieldTable
-> MethodPayload
Queue_unbind ShortInt
a ShortString
b ShortString
c ShortString
d FieldTable
e)
            (ShortInt
50,ShortInt
51) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Queue_unbind_ok
            (ShortInt
50,ShortInt
30) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
c ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt -> ShortString -> Bit -> MethodPayload
Queue_purge ShortInt
a ShortString
b Bit
c)
            (ShortInt
50,ShortInt
31) -> Get LongInt
forall t. Binary t => Get t
get Get LongInt -> (LongInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongInt
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (LongInt -> MethodPayload
Queue_purge_ok LongInt
a)
            (ShortInt
50,ShortInt
40) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Int -> Get [Bit]
getBits Int
3 Get [Bit] -> ([Bit] -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[Bit
c,Bit
d,Bit
e] ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt -> ShortString -> Bit -> Bit -> Bit -> MethodPayload
Queue_delete ShortInt
a ShortString
b Bit
c Bit
d Bit
e)
            (ShortInt
50,ShortInt
41) -> Get LongInt
forall t. Binary t => Get t
get Get LongInt -> (LongInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongInt
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (LongInt -> MethodPayload
Queue_delete_ok LongInt
a)
            (ShortInt
60,ShortInt
10) -> Get LongInt
forall t. Binary t => Get t
get Get LongInt -> (LongInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongInt
a -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
b -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
c ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (LongInt -> ShortInt -> Bit -> MethodPayload
Basic_qos LongInt
a ShortInt
b Bit
c)
            (ShortInt
60,ShortInt
11) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Basic_qos_ok
            (ShortInt
60,ShortInt
20) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Int -> Get [Bit]
getBits Int
4 Get [Bit] -> ([Bit] -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[Bit
d,Bit
e,Bit
f,Bit
g] -> Get FieldTable
forall t. Binary t => Get t
get Get FieldTable
-> (FieldTable -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \FieldTable
h ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString
-> ShortString
-> Bit
-> Bit
-> Bit
-> Bit
-> FieldTable
-> MethodPayload
Basic_consume ShortInt
a ShortString
b ShortString
c Bit
d Bit
e Bit
f Bit
g FieldTable
h)
            (ShortInt
60,ShortInt
21) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> MethodPayload
Basic_consume_ok ShortString
a)
            (ShortInt
60,ShortInt
30) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
b ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> Bit -> MethodPayload
Basic_cancel ShortString
a Bit
b)
            (ShortInt
60,ShortInt
31) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> MethodPayload
Basic_cancel_ok ShortString
a)
            (ShortInt
60,ShortInt
40) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Int -> Get [Bit]
getBits Int
2 Get [Bit] -> ([Bit] -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[Bit
d,Bit
e] ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString -> ShortString -> Bit -> Bit -> MethodPayload
Basic_publish ShortInt
a ShortString
b ShortString
c Bit
d Bit
e)
            (ShortInt
60,ShortInt
50) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
d ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt
-> ShortString -> ShortString -> ShortString -> MethodPayload
Basic_return ShortInt
a ShortString
b ShortString
c ShortString
d)
            (ShortInt
60,ShortInt
60) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a -> Get Timestamp
forall t. Binary t => Get t
get Get Timestamp
-> (Timestamp -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Timestamp
b -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
c -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
d -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
e ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString
-> Timestamp -> Bit -> ShortString -> ShortString -> MethodPayload
Basic_deliver ShortString
a Timestamp
b Bit
c ShortString
d ShortString
e)
            (ShortInt
60,ShortInt
70) -> Get ShortInt
forall t. Binary t => Get t
get Get ShortInt
-> (ShortInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortInt
a -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
b -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
c ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortInt -> ShortString -> Bit -> MethodPayload
Basic_get ShortInt
a ShortString
b Bit
c)
            (ShortInt
60,ShortInt
71) -> Get Timestamp
forall t. Binary t => Get t
get Get Timestamp
-> (Timestamp -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Timestamp
a -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
b -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
c -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
d -> Get LongInt
forall t. Binary t => Get t
get Get LongInt -> (LongInt -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \LongInt
e ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Timestamp
-> Bit -> ShortString -> ShortString -> LongInt -> MethodPayload
Basic_get_ok Timestamp
a Bit
b ShortString
c ShortString
d LongInt
e)
            (ShortInt
60,ShortInt
72) -> Get ShortString
forall t. Binary t => Get t
get Get ShortString
-> (ShortString -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ShortString
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (ShortString -> MethodPayload
Basic_get_empty ShortString
a)
            (ShortInt
60,ShortInt
80) -> Get Timestamp
forall t. Binary t => Get t
get Get Timestamp
-> (Timestamp -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Timestamp
a -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
b ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Timestamp -> Bit -> MethodPayload
Basic_ack Timestamp
a Bit
b)
            (ShortInt
60,ShortInt
90) -> Get Timestamp
forall t. Binary t => Get t
get Get Timestamp
-> (Timestamp -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Timestamp
a -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
b ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Timestamp -> Bit -> MethodPayload
Basic_reject Timestamp
a Bit
b)
            (ShortInt
60,ShortInt
100) -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Bit -> MethodPayload
Basic_recover_async Bit
a)
            (ShortInt
60,ShortInt
110) -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Bit -> MethodPayload
Basic_recover Bit
a)
            (ShortInt
60,ShortInt
111) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Basic_recover_ok
            (ShortInt
60,ShortInt
120) -> Get Timestamp
forall t. Binary t => Get t
get Get Timestamp
-> (Timestamp -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Timestamp
a -> Int -> Get [Bit]
getBits Int
2 Get [Bit] -> ([Bit] -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \[Bit
b,Bit
c] ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Timestamp -> Bit -> Bit -> MethodPayload
Basic_nack Timestamp
a Bit
b Bit
c)
            (ShortInt
90,ShortInt
10) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Tx_select
            (ShortInt
90,ShortInt
11) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Tx_select_ok
            (ShortInt
90,ShortInt
20) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Tx_commit
            (ShortInt
90,ShortInt
21) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Tx_commit_ok
            (ShortInt
90,ShortInt
30) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Tx_rollback
            (ShortInt
90,ShortInt
31) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Tx_rollback_ok
            (ShortInt
85,ShortInt
10) -> Get Bit
forall t. Binary t => Get t
get Get Bit -> (Bit -> Get MethodPayload) -> Get MethodPayload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \Bit
a ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return (Bit -> MethodPayload
Confirm_select Bit
a)
            (ShortInt
85,ShortInt
11) ->  MethodPayload -> Get MethodPayload
forall (m :: * -> *) a. Monad m => a -> m a
return MethodPayload
Confirm_select_ok
            (ShortInt, ShortInt)
x -> [Char] -> Get MethodPayload
forall a. HasCallStack => [Char] -> a
error ([Char]
"Unexpected classID and methodID: " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ (ShortInt, ShortInt) -> [Char]
forall a. Show a => a -> [Char]
show (ShortInt, ShortInt)
x)
data MethodPayload =

    Connection_start
        Octet -- version-major

        Octet -- version-minor

        FieldTable -- server-properties

        LongString -- mechanisms

        LongString -- locales

    |
    Connection_start_ok
        FieldTable -- client-properties

        ShortString -- mechanism

        LongString -- response

        ShortString -- locale

    |
    Connection_secure
        LongString -- challenge

    |
    Connection_secure_ok
        LongString -- response

    |
    Connection_tune
        ShortInt -- channel-max

        LongInt -- frame-max

        ShortInt -- heartbeat

    |
    Connection_tune_ok
        ShortInt -- channel-max

        LongInt -- frame-max

        ShortInt -- heartbeat

    |
    Connection_open
        ShortString -- virtual-host

        ShortString -- reserved-1

        Bit -- reserved-2

    |
    Connection_open_ok
        ShortString -- reserved-1

    |
    Connection_close
        ShortInt -- reply-code

        ShortString -- reply-text

        ShortInt -- class-id

        ShortInt -- method-id

    |
    Connection_close_ok

    |
    Connection_blocked
        ShortString -- reason

    |
    Connection_unblocked

    |
    Channel_open
        ShortString -- reserved-1

    |
    Channel_open_ok
        LongString -- reserved-1

    |
    Channel_flow
        Bit -- active

    |
    Channel_flow_ok
        Bit -- active

    |
    Channel_close
        ShortInt -- reply-code

        ShortString -- reply-text

        ShortInt -- class-id

        ShortInt -- method-id

    |
    Channel_close_ok

    |
    Exchange_declare
        ShortInt -- reserved-1

        ShortString -- exchange

        ShortString -- typ

        Bit -- passive

        Bit -- durable

        Bit -- auto-delete

        Bit -- internal

        Bit -- no-wait

        FieldTable -- arguments

    |
    Exchange_declare_ok

    |
    Exchange_delete
        ShortInt -- reserved-1

        ShortString -- exchange

        Bit -- if-unused

        Bit -- no-wait

    |
    Exchange_delete_ok

    |
    Exchange_bind
        ShortInt -- reserved-1

        ShortString -- destination

        ShortString -- source

        ShortString -- routing-key

        Bit -- no-wait

        FieldTable -- arguments

    |
    Exchange_bind_ok

    |
    Exchange_unbind
        ShortInt -- reserved-1

        ShortString -- destination

        ShortString -- source

        ShortString -- routing-key

        Bit -- no-wait

        FieldTable -- arguments

    |
    Exchange_unbind_ok

    |
    Queue_declare
        ShortInt -- reserved-1

        ShortString -- queue

        Bit -- passive

        Bit -- durable

        Bit -- exclusive

        Bit -- auto-delete

        Bit -- no-wait

        FieldTable -- arguments

    |
    Queue_declare_ok
        ShortString -- queue

        LongInt -- message-count

        LongInt -- consumer-count

    |
    Queue_bind
        ShortInt -- reserved-1

        ShortString -- queue

        ShortString -- exchange

        ShortString -- routing-key

        Bit -- no-wait

        FieldTable -- arguments

    |
    Queue_bind_ok

    |
    Queue_unbind
        ShortInt -- reserved-1

        ShortString -- queue

        ShortString -- exchange

        ShortString -- routing-key

        FieldTable -- arguments

    |
    Queue_unbind_ok

    |
    Queue_purge
        ShortInt -- reserved-1

        ShortString -- queue

        Bit -- no-wait

    |
    Queue_purge_ok
        LongInt -- message-count

    |
    Queue_delete
        ShortInt -- reserved-1

        ShortString -- queue

        Bit -- if-unused

        Bit -- if-empty

        Bit -- no-wait

    |
    Queue_delete_ok
        LongInt -- message-count

    |
    Basic_qos
        LongInt -- prefetch-size

        ShortInt -- prefetch-count

        Bit -- global

    |
    Basic_qos_ok

    |
    Basic_consume
        ShortInt -- reserved-1

        ShortString -- queue

        ShortString -- consumer-tag

        Bit -- no-local

        Bit -- no-ack

        Bit -- exclusive

        Bit -- no-wait

        FieldTable -- arguments

    |
    Basic_consume_ok
        ShortString -- consumer-tag

    |
    Basic_cancel
        ShortString -- consumer-tag

        Bit -- no-wait

    |
    Basic_cancel_ok
        ShortString -- consumer-tag

    |
    Basic_publish
        ShortInt -- reserved-1

        ShortString -- exchange

        ShortString -- routing-key

        Bit -- mandatory

        Bit -- immediate

    |
    Basic_return
        ShortInt -- reply-code

        ShortString -- reply-text

        ShortString -- exchange

        ShortString -- routing-key

    |
    Basic_deliver
        ShortString -- consumer-tag

        LongLongInt -- delivery-tag

        Bit -- redelivered

        ShortString -- exchange

        ShortString -- routing-key

    |
    Basic_get
        ShortInt -- reserved-1

        ShortString -- queue

        Bit -- no-ack

    |
    Basic_get_ok
        LongLongInt -- delivery-tag

        Bit -- redelivered

        ShortString -- exchange

        ShortString -- routing-key

        LongInt -- message-count

    |
    Basic_get_empty
        ShortString -- reserved-1

    |
    Basic_ack
        LongLongInt -- delivery-tag

        Bit -- multiple

    |
    Basic_reject
        LongLongInt -- delivery-tag

        Bit -- requeue

    |
    Basic_recover_async
        Bit -- requeue

    |
    Basic_recover
        Bit -- requeue

    |
    Basic_recover_ok

    |
    Basic_nack
        LongLongInt -- delivery-tag

        Bit -- multiple

        Bit -- requeue

    |
    Tx_select

    |
    Tx_select_ok

    |
    Tx_commit

    |
    Tx_commit_ok

    |
    Tx_rollback

    |
    Tx_rollback_ok

    |
    Confirm_select
        Bit -- nowait

    |
    Confirm_select_ok


    deriving Int -> MethodPayload -> [Char] -> [Char]
[MethodPayload] -> [Char] -> [Char]
MethodPayload -> [Char]
(Int -> MethodPayload -> [Char] -> [Char])
-> (MethodPayload -> [Char])
-> ([MethodPayload] -> [Char] -> [Char])
-> Show MethodPayload
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
showList :: [MethodPayload] -> [Char] -> [Char]
$cshowList :: [MethodPayload] -> [Char] -> [Char]
show :: MethodPayload -> [Char]
$cshow :: MethodPayload -> [Char]
showsPrec :: Int -> MethodPayload -> [Char] -> [Char]
$cshowsPrec :: Int -> MethodPayload -> [Char] -> [Char]
Show