| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Network.GRPC.HTTP2.Encoding
Description
Synopsis
- class IsRPC r => GRPCInput r i where
- encodeInput :: r -> Compression -> i -> Builder
- decodeInput :: r -> Compression -> Decoder (Either String i)
- class IsRPC r => GRPCOutput r o where
- encodeOutput :: r -> Compression -> o -> Builder
- decodeOutput :: r -> Compression -> Decoder (Either String o)
- data Builder
- data Decoder a
- fromBuilder :: Builder -> ByteString
- fromDecoder :: Decoder (Either String a) -> Either String a
- data Compression = Compression {}
- newtype Encoding = Encoding {}
- newtype Decoding = Decoding {}
- grpcCompressionHV :: Compression -> HeaderValue
- uncompressed :: Compression
- gzip :: Compression
Encoding and decoding.
class IsRPC r => GRPCInput r i where Source #
Methods
encodeInput :: r -> Compression -> i -> Builder Source #
decodeInput :: r -> Compression -> Decoder (Either String i) Source #
class IsRPC r => GRPCOutput r o where Source #
Methods
encodeOutput :: r -> Compression -> o -> Builder Source #
decodeOutput :: r -> Compression -> Decoder (Either String o) Source #
Builders denote sequences of bytes.
They are Monoids where
mempty is the zero-length sequence and
mappend is concatenation, which runs in O(1).
fromBuilder :: Builder -> ByteString Source #
Finalizes a Builder.
Compression.
data Compression Source #
Opaque type for handling compression.
So far, only "pure" compression algorithms are supported.
TODO: suport IO-based compression implementations once we move from Builder.
Constructors
| Compression | |
Fields | |
Compression for Encoding.
Constructors
| Encoding | |
Fields | |
Compression for Decoding.
Constructors
| Decoding | |
Fields | |
uncompressed :: Compression Source #
Do not compress.
gzip :: Compression Source #
Use gzip as compression.