Safe Haskell | None |
---|---|
Language | Haskell2010 |
Network.GRPC.Common
Description
General infrastructure used by both the client and the server
Intended for unqualified import.
Synopsis
- class (NFData (Input rpc), NFData (Output rpc), Show (Input rpc), Show (Output rpc), Show (RequestMetadata rpc), Show (ResponseInitialMetadata rpc), Show (ResponseTrailingMetadata rpc)) => IsRPC (rpc :: k) where
- rpcContentType :: Proxy rpc -> ByteString
- rpcServiceName :: Proxy rpc -> ByteString
- rpcMethodName :: Proxy rpc -> ByteString
- rpcMessageType :: Proxy rpc -> Maybe ByteString
- type family Input (rpc :: k)
- type family Output (rpc :: k)
- class (IsRPC rpc, BuildMetadata (RequestMetadata rpc), ParseMetadata (ResponseInitialMetadata rpc), ParseMetadata (ResponseTrailingMetadata rpc)) => SupportsClientRpc (rpc :: k) where
- rpcSerializeInput :: Proxy rpc -> Input rpc -> ByteString
- rpcDeserializeOutput :: Proxy rpc -> ByteString -> Either String (Output rpc)
- class (IsRPC rpc, ParseMetadata (RequestMetadata rpc), BuildMetadata (ResponseInitialMetadata rpc), StaticMetadata (ResponseTrailingMetadata rpc)) => SupportsServerRpc (rpc :: k) where
- rpcDeserializeInput :: Proxy rpc -> ByteString -> Either String (Input rpc)
- rpcSerializeOutput :: Proxy rpc -> Output rpc -> ByteString
- defaultRpcContentType :: ByteString -> ByteString
- data StreamElem b a
- = StreamElem !a
- | FinalElem !a !b
- | NoMoreElems !b
- data NextElem a
- = NoNextElem
- | NextElem !a
- data CustomMetadata where
- pattern CustomMetadata :: HasCallStack => HeaderName -> ByteString -> CustomMetadata
- customMetadataName :: CustomMetadata -> HeaderName
- customMetadataValue :: CustomMetadata -> ByteString
- data HeaderName where
- pattern BinaryHeader :: HasCallStack => ByteString -> HeaderName
- pattern AsciiHeader :: HasCallStack => ByteString -> HeaderName
- data NoMetadata = NoMetadata
- type family RequestMetadata (rpc :: k)
- type family ResponseInitialMetadata (rpc :: k)
- type family ResponseTrailingMetadata (rpc :: k)
- data ResponseMetadata (rpc :: k)
- class BuildMetadata a where
- buildMetadata :: a -> [CustomMetadata]
- class ParseMetadata a where
- parseMetadata :: MonadThrow m => [CustomMetadata] -> m a
- class BuildMetadata a => StaticMetadata a where
- metadataHeaderNames :: Proxy a -> [HeaderName]
- data SslKeyLog
- data HTTP2Settings = HTTP2Settings {
- http2MaxConcurrentStreams :: Word32
- http2StreamWindowSize :: Word32
- http2ConnectionWindowSize :: Word32
- http2TcpNoDelay :: Bool
- http2TcpAbortiveClose :: Bool
- http2OverridePingRateLimit :: Maybe Int
- http2OverrideEmptyFrameRateLimit :: Maybe Int
- http2OverrideSettingsRateLimit :: Maybe Int
- http2OverrideRstRateLimit :: Maybe Int
- defaultInsecurePort :: PortNumber
- defaultSecurePort :: PortNumber
- defaultHTTP2Settings :: HTTP2Settings
- data OutboundMeta = OutboundMeta {}
- data InboundMeta = InboundMeta {}
- data GrpcStatus
- data GrpcError
- data GrpcException = GrpcException {}
- throwGrpcError :: GrpcError -> IO a
- data ProtocolException (rpc :: k)
- = TooFewInputs
- | TooManyInputs (Input rpc)
- | TooFewOutputs (ResponseTrailingMetadata rpc)
- | TooManyOutputs (Output rpc)
- | UnexpectedTrailersOnly (ResponseTrailingMetadata rpc)
- data ChannelDiscarded = ChannelDiscarded CallStack
- data PeerException
- data SomeProtocolException where
- ProtocolException :: forall {k} (rpc :: k). IsRPC rpc => ProtocolException rpc -> SomeProtocolException
- data UnexpectedMetadata = UnexpectedMetadata [CustomMetadata]
- newtype InvalidHeaders e = InvalidHeaders {
- getInvalidHeaders :: [InvalidHeader e]
- data InvalidHeader e
- invalidHeaders :: InvalidHeaders e -> [Header]
- data HandledSynthesized
- data SendAfterFinal
- data RecvAfterFinal = RecvAfterFinal CallStack
- data Proxy (t :: k) = Proxy
- class Default a where
- def :: a
Abstraction over different serialization formats
class (NFData (Input rpc), NFData (Output rpc), Show (Input rpc), Show (Output rpc), Show (RequestMetadata rpc), Show (ResponseInitialMetadata rpc), Show (ResponseTrailingMetadata rpc)) => IsRPC (rpc :: k) where #
Methods
rpcContentType :: Proxy rpc -> ByteString #
rpcServiceName :: Proxy rpc -> ByteString #
rpcMethodName :: Proxy rpc -> ByteString #
rpcMessageType :: Proxy rpc -> Maybe ByteString #
Instances
type family Input (rpc :: k) #
Instances
type Input (Protobuf serv meth :: Type) | |
Defined in Network.GRPC.Spec.RPC.Protobuf | |
type Input (RawRpc serv meth :: Type) | |
Defined in Network.GRPC.Spec.RPC.Raw |
type family Output (rpc :: k) #
Instances
type Output (Protobuf serv meth :: Type) | |
Defined in Network.GRPC.Spec.RPC.Protobuf | |
type Output (RawRpc serv meth :: Type) | |
Defined in Network.GRPC.Spec.RPC.Raw |
class (IsRPC rpc, BuildMetadata (RequestMetadata rpc), ParseMetadata (ResponseInitialMetadata rpc), ParseMetadata (ResponseTrailingMetadata rpc)) => SupportsClientRpc (rpc :: k) where #
Methods
rpcSerializeInput :: Proxy rpc -> Input rpc -> ByteString #
rpcDeserializeOutput :: Proxy rpc -> ByteString -> Either String (Output rpc) #
Instances
class (IsRPC rpc, ParseMetadata (RequestMetadata rpc), BuildMetadata (ResponseInitialMetadata rpc), StaticMetadata (ResponseTrailingMetadata rpc)) => SupportsServerRpc (rpc :: k) where #
Methods
rpcDeserializeInput :: Proxy rpc -> ByteString -> Either String (Input rpc) #
rpcSerializeOutput :: Proxy rpc -> Output rpc -> ByteString #
Instances
Stream elements
data StreamElem b a Source #
An element positioned in a stream
Constructors
StreamElem !a | Element in the stream The final element in a stream may or may not be marked as final; if it is not, we will only discover after receiving the final element that it was in fact final. Moreover, we do not know ahead of time whether or not the final element will be marked. When we receive an element and it is not marked final, this might therefore mean one of two things, without being able to tell which:
In this case, the element may or may not be the final element; if it
is, the next value will be
In this case, this element is not final (and the final element, when
we receive it, will be tagged as |
FinalElem !a !b | We received the final element The final element is annotated with some additional information. |
NoMoreElems !b | There are no more elements This is used in two situations:
|
Instances
Constructors
NoNextElem | |
NextElem !a |
Instances
Functor NextElem | |
Foldable NextElem | |
Defined in Network.GRPC.Spec.RPC.StreamType Methods fold :: Monoid m => NextElem m -> m # foldMap :: Monoid m => (a -> m) -> NextElem a -> m # foldMap' :: Monoid m => (a -> m) -> NextElem a -> m # foldr :: (a -> b -> b) -> b -> NextElem a -> b # foldr' :: (a -> b -> b) -> b -> NextElem a -> b # foldl :: (b -> a -> b) -> b -> NextElem a -> b # foldl' :: (b -> a -> b) -> b -> NextElem a -> b # foldr1 :: (a -> a -> a) -> NextElem a -> a # foldl1 :: (a -> a -> a) -> NextElem a -> a # elem :: Eq a => a -> NextElem a -> Bool # maximum :: Ord a => NextElem a -> a # minimum :: Ord a => NextElem a -> a # | |
Traversable NextElem | |
Defined in Network.GRPC.Spec.RPC.StreamType | |
Show a => Show (NextElem a) | |
Eq a => Eq (NextElem a) | |
Custom metadata
data CustomMetadata where #
Bundled Patterns
pattern CustomMetadata :: HasCallStack => HeaderName -> ByteString -> CustomMetadata |
Instances
data HeaderName where #
Bundled Patterns
pattern BinaryHeader :: HasCallStack => ByteString -> HeaderName | |
pattern AsciiHeader :: HasCallStack => ByteString -> HeaderName |
Instances
NFData HeaderName | |||||
Defined in Network.GRPC.Spec.CustomMetadata.Raw Methods rnf :: HeaderName -> () # | |||||
IsString HeaderName | |||||
Defined in Network.GRPC.Spec.CustomMetadata.Raw Methods fromString :: String -> HeaderName # | |||||
Generic HeaderName | |||||
Defined in Network.GRPC.Spec.CustomMetadata.Raw Associated Types
| |||||
Show HeaderName | |||||
Defined in Network.GRPC.Spec.CustomMetadata.Raw Methods showsPrec :: Int -> HeaderName -> ShowS # show :: HeaderName -> String # showList :: [HeaderName] -> ShowS # | |||||
Eq HeaderName | |||||
Defined in Network.GRPC.Spec.CustomMetadata.Raw | |||||
Ord HeaderName | |||||
Defined in Network.GRPC.Spec.CustomMetadata.Raw Methods compare :: HeaderName -> HeaderName -> Ordering # (<) :: HeaderName -> HeaderName -> Bool # (<=) :: HeaderName -> HeaderName -> Bool # (>) :: HeaderName -> HeaderName -> Bool # (>=) :: HeaderName -> HeaderName -> Bool # max :: HeaderName -> HeaderName -> HeaderName # min :: HeaderName -> HeaderName -> HeaderName # | |||||
type Rep HeaderName | |||||
Defined in Network.GRPC.Spec.CustomMetadata.Raw type Rep HeaderName = D1 ('MetaData "HeaderName" "Network.GRPC.Spec.CustomMetadata.Raw" "grpc-spec-1.0.0-inplace" 'False) (C1 ('MetaCons "UnsafeBinaryHeader" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)) :+: C1 ('MetaCons "UnsafeAsciiHeader" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))) |
data NoMetadata #
Constructors
NoMetadata |
Instances
Default NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods def :: NoMetadata # | |
Show NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods showsPrec :: Int -> NoMetadata -> ShowS # show :: NoMetadata -> String # showList :: [NoMetadata] -> ShowS # | |
Eq NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata | |
BuildMetadata NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods buildMetadata :: NoMetadata -> [CustomMetadata] # | |
ParseMetadata NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods parseMetadata :: MonadThrow m => [CustomMetadata] -> m NoMetadata # | |
StaticMetadata NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods metadataHeaderNames :: Proxy NoMetadata -> [HeaderName] # |
Typed
type family RequestMetadata (rpc :: k) #
type family ResponseInitialMetadata (rpc :: k) #
type family ResponseTrailingMetadata (rpc :: k) #
data ResponseMetadata (rpc :: k) #
Constructors
ResponseInitialMetadata (ResponseInitialMetadata rpc) | |
ResponseTrailingMetadata (ResponseTrailingMetadata rpc) |
Instances
(Show (ResponseInitialMetadata rpc), Show (ResponseTrailingMetadata rpc)) => Show (ResponseMetadata rpc) | |
Defined in Network.GRPC.Spec.CustomMetadata.Typed Methods showsPrec :: Int -> ResponseMetadata rpc -> ShowS # show :: ResponseMetadata rpc -> String # showList :: [ResponseMetadata rpc] -> ShowS # | |
(Eq (ResponseInitialMetadata rpc), Eq (ResponseTrailingMetadata rpc)) => Eq (ResponseMetadata rpc) | |
Defined in Network.GRPC.Spec.CustomMetadata.Typed Methods (==) :: ResponseMetadata rpc -> ResponseMetadata rpc -> Bool # (/=) :: ResponseMetadata rpc -> ResponseMetadata rpc -> Bool # |
Serialization
class BuildMetadata a where #
Methods
buildMetadata :: a -> [CustomMetadata] #
Instances
BuildMetadata NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods buildMetadata :: NoMetadata -> [CustomMetadata] # |
class ParseMetadata a where #
Methods
parseMetadata :: MonadThrow m => [CustomMetadata] -> m a #
Instances
ParseMetadata NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods parseMetadata :: MonadThrow m => [CustomMetadata] -> m NoMetadata # |
class BuildMetadata a => StaticMetadata a where #
Methods
metadataHeaderNames :: Proxy a -> [HeaderName] #
Instances
StaticMetadata NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods metadataHeaderNames :: Proxy NoMetadata -> [HeaderName] # |
Configuration
SSL key log file
An SSL key log file can be used by tools such as Wireshark to decode TLS network traffic. It is used for debugging only.
Constructors
SslKeyLogNone | Don't use a key log file |
SslKeyLogPath FilePath | Use the specified path |
SslKeyLogFromEnv | Use the This is the default. |
Instances
Default SslKeyLog Source # | |||||
Defined in Network.GRPC.Util.TLS | |||||
Generic SslKeyLog Source # | |||||
Defined in Network.GRPC.Util.TLS Associated Types
| |||||
Show SslKeyLog Source # | |||||
Eq SslKeyLog Source # | |||||
type Rep SslKeyLog Source # | |||||
Defined in Network.GRPC.Util.TLS type Rep SslKeyLog = D1 ('MetaData "SslKeyLog" "Network.GRPC.Util.TLS" "grapesy-1.0.0-inplace" 'False) (C1 ('MetaCons "SslKeyLogNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SslKeyLogPath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :+: C1 ('MetaCons "SslKeyLogFromEnv" 'PrefixI 'False) (U1 :: Type -> Type))) |
HTTP/2 Settings
data HTTP2Settings Source #
HTTP/2 settings
Constructors
HTTP2Settings | |
Fields
|
Instances
Default HTTP2Settings Source # | |
Defined in Network.GRPC.Common.HTTP2Settings Methods def :: HTTP2Settings # | |
Show HTTP2Settings Source # | |
Defined in Network.GRPC.Common.HTTP2Settings Methods showsPrec :: Int -> HTTP2Settings -> ShowS # show :: HTTP2Settings -> String # showList :: [HTTP2Settings] -> ShowS # |
Defaults
defaultInsecurePort :: PortNumber Source #
Default port number for insecure servers
By convention, 50051
is often used as the default port for gRPC servers.
defaultSecurePort :: PortNumber Source #
Default port number for secure servers (50052)
Unlike defaultInsecurePort
, this is a grapesy
internal convention: we use
50052
as the defualt port for secure gRPC servers.
defaultHTTP2Settings :: HTTP2Settings Source #
Default HTTP/2 settings
Section 6.5.2 of the HTTP/2
specification recommends that the SETTINGS_MAX_CONCURRENT_STREAMS
parameter be no smaller
than 100 "so as not to unnecessarily limit parallelism", so we default to
128.
The default initial stream window size (corresponding to the
SETTINGS_INITIAL_WINDOW_SIZE
HTTP/2 parameter) is 64KB.
The default connection window size is 128 * 64KB to avoid the control flow
deadlock discussed at http2ConnectionWindowSize
.
The ping rate limit imposed by the http2
package is overridden to 100
PINGs/sec.
Message metadata
data OutboundMeta #
Constructors
OutboundMeta | |
Fields |
Instances
Default OutboundMeta | |||||
Defined in Network.GRPC.Spec.MessageMeta Methods def :: OutboundMeta # | |||||
NFData OutboundMeta | |||||
Defined in Network.GRPC.Spec.MessageMeta Methods rnf :: OutboundMeta -> () # | |||||
Generic OutboundMeta | |||||
Defined in Network.GRPC.Spec.MessageMeta Associated Types
| |||||
Show OutboundMeta | |||||
Defined in Network.GRPC.Spec.MessageMeta Methods showsPrec :: Int -> OutboundMeta -> ShowS # show :: OutboundMeta -> String # showList :: [OutboundMeta] -> ShowS # | |||||
type Rep OutboundMeta | |||||
Defined in Network.GRPC.Spec.MessageMeta type Rep OutboundMeta = D1 ('MetaData "OutboundMeta" "Network.GRPC.Spec.MessageMeta" "grpc-spec-1.0.0-inplace" 'False) (C1 ('MetaCons "OutboundMeta" 'PrefixI 'True) (S1 ('MetaSel ('Just "outboundEnableCompression") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) |
data InboundMeta #
Constructors
InboundMeta | |
Fields |
Instances
Show InboundMeta | |
Defined in Network.GRPC.Spec.MessageMeta Methods showsPrec :: Int -> InboundMeta -> ShowS # show :: InboundMeta -> String # showList :: [InboundMeta] -> ShowS # |
Exceptions
gRPC status and exceptions
data GrpcStatus #
Instances
Generic GrpcStatus | |||||
Defined in Network.GRPC.Spec.Status Associated Types
| |||||
Show GrpcStatus | |||||
Defined in Network.GRPC.Spec.Status Methods showsPrec :: Int -> GrpcStatus -> ShowS # show :: GrpcStatus -> String # showList :: [GrpcStatus] -> ShowS # | |||||
Eq GrpcStatus | |||||
Defined in Network.GRPC.Spec.Status | |||||
type Rep GrpcStatus | |||||
Defined in Network.GRPC.Spec.Status type Rep GrpcStatus = D1 ('MetaData "GrpcStatus" "Network.GRPC.Spec.Status" "grpc-spec-1.0.0-inplace" 'False) (C1 ('MetaCons "GrpcOk" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GrpcError))) |
Constructors
GrpcCancelled | |
GrpcUnknown | |
GrpcInvalidArgument | |
GrpcDeadlineExceeded | |
GrpcNotFound | |
GrpcAlreadyExists | |
GrpcPermissionDenied | |
GrpcResourceExhausted | |
GrpcFailedPrecondition | |
GrpcAborted | |
GrpcOutOfRange | |
GrpcUnimplemented | |
GrpcInternal | |
GrpcUnavailable | |
GrpcDataLoss | |
GrpcUnauthenticated |
Instances
Exception GrpcError | |||||
Defined in Network.GRPC.Spec.Status Methods toException :: GrpcError -> SomeException # fromException :: SomeException -> Maybe GrpcError # displayException :: GrpcError -> String # backtraceDesired :: GrpcError -> Bool # | |||||
Generic GrpcError | |||||
Defined in Network.GRPC.Spec.Status Associated Types
| |||||
Show GrpcError | |||||
Eq GrpcError | |||||
Ord GrpcError | |||||
type Rep GrpcError | |||||
Defined in Network.GRPC.Spec.Status type Rep GrpcError = D1 ('MetaData "GrpcError" "Network.GRPC.Spec.Status" "grpc-spec-1.0.0-inplace" 'False) ((((C1 ('MetaCons "GrpcCancelled" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcUnknown" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GrpcInvalidArgument" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcDeadlineExceeded" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "GrpcNotFound" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcAlreadyExists" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GrpcPermissionDenied" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcResourceExhausted" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "GrpcFailedPrecondition" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcAborted" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GrpcOutOfRange" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcUnimplemented" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "GrpcInternal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcUnavailable" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GrpcDataLoss" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GrpcUnauthenticated" 'PrefixI 'False) (U1 :: Type -> Type))))) |
data GrpcException #
Constructors
GrpcException | |
Fields |
Instances
Exception GrpcException | |
Defined in Network.GRPC.Spec.Status Methods toException :: GrpcException -> SomeException # fromException :: SomeException -> Maybe GrpcException # displayException :: GrpcException -> String # backtraceDesired :: GrpcException -> Bool # | |
Show GrpcException | |
Defined in Network.GRPC.Spec.Status Methods showsPrec :: Int -> GrpcException -> ShowS # show :: GrpcException -> String # showList :: [GrpcException] -> ShowS # | |
Eq GrpcException | |
Defined in Network.GRPC.Spec.Status Methods (==) :: GrpcException -> GrpcException -> Bool # (/=) :: GrpcException -> GrpcException -> Bool # |
throwGrpcError :: GrpcError -> IO a #
Low-level
data ProtocolException (rpc :: k) Source #
Protocol exception
A protocol exception arises when the client and the server disagree on the sequence of inputs and outputs exchanged. This agreement might be part of a formal specification such as Protobuf, or it might be implicit in the implementation of a specific RPC.
Constructors
TooFewInputs | We expected an input but got none |
TooManyInputs (Input rpc) | We received an input when we expected no more inputs |
TooFewOutputs (ResponseTrailingMetadata rpc) | We expected an output, but got trailers instead |
TooManyOutputs (Output rpc) | We expected trailers, but got an output instead |
UnexpectedTrailersOnly (ResponseTrailingMetadata rpc) | The server unexpectedly used the Trailers-Only case |
Instances
IsRPC rpc => Show (ProtocolException rpc) Source # | |
Defined in Network.GRPC.Common Methods showsPrec :: Int -> ProtocolException rpc -> ShowS # show :: ProtocolException rpc -> String # showList :: [ProtocolException rpc] -> ShowS # |
data ChannelDiscarded Source #
Channel was closed because it was discarded
This typically corresponds to leaving the scope of runHandler
or
withRPC
(without throwing an exception).
Constructors
ChannelDiscarded CallStack |
Instances
Exception ChannelDiscarded Source # | |
Defined in Network.GRPC.Util.Session.Channel Methods toException :: ChannelDiscarded -> SomeException # fromException :: SomeException -> Maybe ChannelDiscarded # | |
Show ChannelDiscarded Source # | |
Defined in Network.GRPC.Util.Session.Channel Methods showsPrec :: Int -> ChannelDiscarded -> ShowS # show :: ChannelDiscarded -> String # showList :: [ChannelDiscarded] -> ShowS # |
data PeerException Source #
Misbehaving peer
Although this exception could in principle be caught, there is not much that can be done to rectify the situation: probably this peer should just be avoided (although perhaps one can hope that the problem was transient).
Constructors
PeerSentMalformedMessage String | Peer sent a malformed message (parser returned an error) |
PeerSentIncompleteMessage | Peer sent an incomplete message (parser did not consume all data) |
PeerMissingPseudoHeaderStatus | HTTP response missing This is not part of |
Instances
Exception PeerException Source # | |
Defined in Network.GRPC.Util.Session.API Methods toException :: PeerException -> SomeException # fromException :: SomeException -> Maybe PeerException # displayException :: PeerException -> String # backtraceDesired :: PeerException -> Bool # | |
Show PeerException Source # | |
Defined in Network.GRPC.Util.Session.API Methods showsPrec :: Int -> PeerException -> ShowS # show :: PeerException -> String # showList :: [PeerException] -> ShowS # |
data SomeProtocolException where Source #
Existential wrapper around ProtocolException
This makes it easier to catch these exceptions (without this, you'd have to
catch the exception for a specific instance of rpc
).
Constructors
ProtocolException :: forall {k} (rpc :: k). IsRPC rpc => ProtocolException rpc -> SomeProtocolException |
Instances
Exception SomeProtocolException Source # | |
Defined in Network.GRPC.Common | |
Show SomeProtocolException Source # | |
Defined in Network.GRPC.Common Methods showsPrec :: Int -> SomeProtocolException -> ShowS # show :: SomeProtocolException -> String # showList :: [SomeProtocolException] -> ShowS # |
data UnexpectedMetadata #
Constructors
UnexpectedMetadata [CustomMetadata] |
Instances
Exception UnexpectedMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.Typed Methods toException :: UnexpectedMetadata -> SomeException # fromException :: SomeException -> Maybe UnexpectedMetadata # | |
Show UnexpectedMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.Typed Methods showsPrec :: Int -> UnexpectedMetadata -> ShowS # show :: UnexpectedMetadata -> String # showList :: [UnexpectedMetadata] -> ShowS # |
newtype InvalidHeaders e #
Constructors
InvalidHeaders | |
Fields
|
Instances
Monoid (InvalidHeaders e) | |
Defined in Network.GRPC.Spec.Headers.Invalid Methods mempty :: InvalidHeaders e # mappend :: InvalidHeaders e -> InvalidHeaders e -> InvalidHeaders e # mconcat :: [InvalidHeaders e] -> InvalidHeaders e # | |
Semigroup (InvalidHeaders e) | |
Defined in Network.GRPC.Spec.Headers.Invalid Methods (<>) :: InvalidHeaders e -> InvalidHeaders e -> InvalidHeaders e # sconcat :: NonEmpty (InvalidHeaders e) -> InvalidHeaders e # stimes :: Integral b => b -> InvalidHeaders e -> InvalidHeaders e # | |
Show e => Show (InvalidHeaders e) | |
Defined in Network.GRPC.Spec.Headers.Invalid Methods showsPrec :: Int -> InvalidHeaders e -> ShowS # show :: InvalidHeaders e -> String # showList :: [InvalidHeaders e] -> ShowS # | |
Show e => Show (RequestHeaders' e) | |
Eq e => Eq (InvalidHeaders e) | |
Defined in Network.GRPC.Spec.Headers.Invalid Methods (==) :: InvalidHeaders e -> InvalidHeaders e -> Bool # (/=) :: InvalidHeaders e -> InvalidHeaders e -> Bool # | |
Eq e => Eq (RequestHeaders' e) | |
data InvalidHeader e #
Constructors
InvalidHeader (Maybe Status) Header String | |
MissingHeader (Maybe Status) HeaderName | |
UnexpectedHeader HeaderName | |
InvalidHeaderSynthesize e (InvalidHeader HandledSynthesized) |
Instances
Show e => Show (InvalidHeader e) | |
Defined in Network.GRPC.Spec.Headers.Invalid Methods showsPrec :: Int -> InvalidHeader e -> ShowS # show :: InvalidHeader e -> String # showList :: [InvalidHeader e] -> ShowS # | |
Eq e => Eq (InvalidHeader e) | |
Defined in Network.GRPC.Spec.Headers.Invalid Methods (==) :: InvalidHeader e -> InvalidHeader e -> Bool # (/=) :: InvalidHeader e -> InvalidHeader e -> Bool # |
invalidHeaders :: InvalidHeaders e -> [Header] #
data HandledSynthesized #
Instances
Show HandledSynthesized | |
Defined in Network.GRPC.Spec.Headers.Invalid Methods showsPrec :: Int -> HandledSynthesized -> ShowS # show :: HandledSynthesized -> String # showList :: [HandledSynthesized] -> ShowS # | |
Eq HandledSynthesized | |
Defined in Network.GRPC.Spec.Headers.Invalid Methods (==) :: HandledSynthesized -> HandledSynthesized -> Bool # (/=) :: HandledSynthesized -> HandledSynthesized -> Bool # |
User errors
data SendAfterFinal Source #
Thrown by send
The CallStack
is the callstack of the final call to send
.
See send
for additional discussion.
Constructors
SendAfterFinal CallStack | Call to |
SendButTrailersOnly | Call to |
Instances
Exception SendAfterFinal Source # | |
Defined in Network.GRPC.Util.Session.Channel Methods toException :: SendAfterFinal -> SomeException # fromException :: SomeException -> Maybe SendAfterFinal # displayException :: SendAfterFinal -> String # backtraceDesired :: SendAfterFinal -> Bool # | |
Show SendAfterFinal Source # | |
Defined in Network.GRPC.Util.Session.Channel Methods showsPrec :: Int -> SendAfterFinal -> ShowS # show :: SendAfterFinal -> String # showList :: [SendAfterFinal] -> ShowS # |
data RecvAfterFinal Source #
Thrown by recv
The CallStack
is the callstack of the final call to recv
.
See recv
for additional discussion.
Constructors
RecvAfterFinal CallStack | Call to |
Instances
Exception RecvAfterFinal Source # | |
Defined in Network.GRPC.Util.Session.Channel Methods toException :: RecvAfterFinal -> SomeException # fromException :: SomeException -> Maybe RecvAfterFinal # displayException :: RecvAfterFinal -> String # backtraceDesired :: RecvAfterFinal -> Bool # | |
Show RecvAfterFinal Source # | |
Defined in Network.GRPC.Util.Session.Channel Methods showsPrec :: Int -> RecvAfterFinal -> ShowS # show :: RecvAfterFinal -> String # showList :: [RecvAfterFinal] -> ShowS # |
Convenience re-exports
Proxy
is a type that holds no data, but has a phantom parameter of
arbitrary type (or even kind). Its use is to provide type information, even
though there is no value available of that type (or it may be too costly to
create one).
Historically,
is a safer alternative to the
Proxy
:: Proxy
a
idiom.undefined
:: a
>>>
Proxy :: Proxy (Void, Int -> Int)
Proxy
Proxy can even hold types of higher kinds,
>>>
Proxy :: Proxy Either
Proxy
>>>
Proxy :: Proxy Functor
Proxy
>>>
Proxy :: Proxy complicatedStructure
Proxy
Constructors
Proxy |
Instances
Generic1 (Proxy :: k -> Type) | |
Defined in GHC.Internal.Generics | |
Representable (Proxy :: Type -> Type) | |
FromJSON1 (Proxy :: Type -> Type) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON1 (Proxy :: Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> Proxy a -> Value # liftToJSONList :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> [Proxy a] -> Value # liftToEncoding :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> Proxy a -> Encoding # liftToEncodingList :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> [Proxy a] -> Encoding # liftOmitField :: (a -> Bool) -> Proxy a -> Bool # | |
MonadZip (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Eq1 (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Ord1 (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read1 (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Show1 (Proxy :: Type -> Type) | Since: base-4.9.0.0 |
Contravariant (Proxy :: Type -> Type) | |
NFData1 (Proxy :: Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Alternative (Proxy :: Type -> Type) | @since base-4.9.0.0 |
Applicative (Proxy :: Type -> Type) | @since base-4.7.0.0 |
Functor (Proxy :: Type -> Type) | @since base-4.7.0.0 |
Monad (Proxy :: Type -> Type) | @since base-4.7.0.0 |
MonadPlus (Proxy :: Type -> Type) | @since base-4.9.0.0 |
Foldable (Proxy :: Type -> Type) | @since base-4.7.0.0 |
Defined in GHC.Internal.Data.Foldable Methods fold :: Monoid m => Proxy m -> m # foldMap :: Monoid m => (a -> m) -> Proxy a -> m # foldMap' :: Monoid m => (a -> m) -> Proxy a -> m # foldr :: (a -> b -> b) -> b -> Proxy a -> b # foldr' :: (a -> b -> b) -> b -> Proxy a -> b # foldl :: (b -> a -> b) -> b -> Proxy a -> b # foldl' :: (b -> a -> b) -> b -> Proxy a -> b # foldr1 :: (a -> a -> a) -> Proxy a -> a # foldl1 :: (a -> a -> a) -> Proxy a -> a # elem :: Eq a => a -> Proxy a -> Bool # maximum :: Ord a => Proxy a -> a # minimum :: Ord a => Proxy a -> a # | |
Traversable (Proxy :: Type -> Type) | @since base-4.7.0.0 |
Hashable1 (Proxy :: Type -> Type) | |
Defined in Data.Hashable.Class | |
FromJSON (Proxy a) | |
Defined in Data.Aeson.Types.FromJSON | |
ToJSON (Proxy a) | |
Default (Proxy a) | |
Defined in Data.Default.Internal | |
NFData (Proxy a) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Monoid (Proxy s) | @since base-4.7.0.0 |
Semigroup (Proxy s) | @since base-4.9.0.0 |
Bounded (Proxy t) | @since base-4.7.0.0 |
Enum (Proxy s) | @since base-4.7.0.0 |
Generic (Proxy t) | |
Defined in GHC.Internal.Generics | |
Ix (Proxy s) | @since base-4.7.0.0 |
Defined in GHC.Internal.Data.Proxy | |
Read (Proxy t) | @since base-4.7.0.0 |
Show (Proxy s) | @since base-4.7.0.0 |
Eq (Proxy s) | @since base-4.7.0.0 |
Ord (Proxy s) | @since base-4.7.0.0 |
Defined in GHC.Internal.Data.Proxy | |
Hashable (Proxy a) | |
Defined in Data.Hashable.Class | |
type Rep1 (Proxy :: k -> Type) | @since base-4.6.0.0 |
type Rep (Proxy :: Type -> Type) | |
type Rep (Proxy t) | @since base-4.6.0.0 |
A class for types with a default value.
Minimal complete definition
Nothing
Methods
The default value for this type.
Instances
Default IntSet | |
Defined in Data.Default.Internal | |
Default All | |
Defined in Data.Default.Internal | |
Default Any | |
Defined in Data.Default.Internal | |
Default CBool | |
Defined in Data.Default.Internal | |
Default CClock | |
Defined in Data.Default.Internal | |
Default CDouble | |
Defined in Data.Default.Internal | |
Default CFloat | |
Defined in Data.Default.Internal | |
Default CInt | |
Defined in Data.Default.Internal | |
Default CIntMax | |
Defined in Data.Default.Internal | |
Default CIntPtr | |
Defined in Data.Default.Internal | |
Default CLLong | |
Defined in Data.Default.Internal | |
Default CLong | |
Defined in Data.Default.Internal | |
Default CPtrdiff | |
Defined in Data.Default.Internal | |
Default CSUSeconds | |
Defined in Data.Default.Internal Methods def :: CSUSeconds # | |
Default CShort | |
Defined in Data.Default.Internal | |
Default CSigAtomic | |
Defined in Data.Default.Internal Methods def :: CSigAtomic # | |
Default CSize | |
Defined in Data.Default.Internal | |
Default CTime | |
Defined in Data.Default.Internal | |
Default CUInt | |
Defined in Data.Default.Internal | |
Default CUIntMax | |
Defined in Data.Default.Internal | |
Default CUIntPtr | |
Defined in Data.Default.Internal | |
Default CULLong | |
Defined in Data.Default.Internal | |
Default CULong | |
Defined in Data.Default.Internal | |
Default CUSeconds | |
Defined in Data.Default.Internal | |
Default CUShort | |
Defined in Data.Default.Internal | |
Default IntPtr | |
Defined in Data.Default.Internal | |
Default WordPtr | |
Defined in Data.Default.Internal | |
Default Int16 | |
Defined in Data.Default.Internal | |
Default Int32 | |
Defined in Data.Default.Internal | |
Default Int64 | |
Defined in Data.Default.Internal | |
Default Int8 | |
Defined in Data.Default.Internal | |
Default Word16 | |
Defined in Data.Default.Internal | |
Default Word32 | |
Defined in Data.Default.Internal | |
Default Word64 | |
Defined in Data.Default.Internal | |
Default Word8 | |
Defined in Data.Default.Internal | |
Default Ordering | |
Defined in Data.Default.Internal | |
Default ConnParams Source # | |
Defined in Network.GRPC.Client.Connection Methods def :: ConnParams # | |
Default ReconnectPolicy Source # | The default policy is The default follows the gRPC specification of Wait for Ready semantics https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md. |
Defined in Network.GRPC.Client.Connection Methods def :: ReconnectPolicy # | |
Default ReconnectTo Source # | |
Defined in Network.GRPC.Client.Connection Methods def :: ReconnectTo # | |
Default Negotation Source # | |
Defined in Network.GRPC.Common.Compression Methods def :: Negotation # | |
Default HTTP2Settings Source # | |
Defined in Network.GRPC.Common.HTTP2Settings Methods def :: HTTP2Settings # | |
Default ServerParams Source # | |
Defined in Network.GRPC.Server.Context Methods def :: ServerParams # | |
Default SslKeyLog Source # | |
Defined in Network.GRPC.Util.TLS | |
Default NoMetadata | |
Defined in Network.GRPC.Spec.CustomMetadata.NoMetadata Methods def :: NoMetadata # | |
Default ContentType | |
Defined in Network.GRPC.Spec.Headers.Common Methods def :: ContentType # | |
Default MessageType | |
Defined in Network.GRPC.Spec.Headers.Common | |
Default OutboundMeta | |
Defined in Network.GRPC.Spec.MessageMeta Methods def :: OutboundMeta # | |
Default TraceContext | |
Defined in Network.GRPC.Spec.TraceContext | |
Default ClientHooks | |
Defined in Network.TLS.Parameters Methods def :: ClientHooks # | |
Default DebugParams | |
Defined in Network.TLS.Parameters Methods def :: DebugParams # | |
Default ServerHooks | |
Defined in Network.TLS.Parameters Methods def :: ServerHooks # | |
Default ServerParams | |
Defined in Network.TLS.Parameters Methods def :: ServerParams # | |
Default Shared | |
Defined in Network.TLS.Parameters | |
Default Supported | |
Defined in Network.TLS.Parameters | |
Default Integer | |
Defined in Data.Default.Internal | |
Default () | |
Defined in Data.Default.Internal | |
Default Bool | |
Defined in Data.Default.Internal | |
Default Double | |
Defined in Data.Default.Internal | |
Default Float | |
Defined in Data.Default.Internal | |
Default Int | |
Defined in Data.Default.Internal | |
Default Word | |
Defined in Data.Default.Internal | |
(Default a, RealFloat a) => Default (Complex a) | |
Defined in Data.Default.Internal | |
Default (IntMap v) | |
Defined in Data.Default.Internal | |
Default (Seq a) | |
Defined in Data.Default.Internal | |
Default (Set v) | |
Defined in Data.Default.Internal | |
Default a => Default (Tree a) | |
Defined in Data.Default.Internal | |
Default a => Default (Identity a) | |
Defined in Data.Default.Internal | |
Default (First a) | |
Defined in Data.Default.Internal | |
Default (Last a) | |
Defined in Data.Default.Internal | |
Default a => Default (Dual a) | |
Defined in Data.Default.Internal | |
Default (Endo a) | |
Defined in Data.Default.Internal | |
Num a => Default (Product a) | |
Defined in Data.Default.Internal | |
Num a => Default (Sum a) | |
Defined in Data.Default.Internal | |
Default (ConstPtr a) | |
Defined in Data.Default.Internal | |
Default (FunPtr a) | |
Defined in Data.Default.Internal | |
Default (Ptr a) | |
Defined in Data.Default.Internal | |
Integral a => Default (Ratio a) | |
Defined in Data.Default.Internal | |
Default (Maybe a) | |
Defined in Data.Default.Internal | |
Default a => Default (Solo a) | |
Defined in Data.Default.Internal | |
Default [a] | |
Defined in Data.Default.Internal | |
HasResolution a => Default (Fixed a) | |
Defined in Data.Default.Internal | |
Default (Map k v) | |
Defined in Data.Default.Internal | |
Default (Proxy a) | |
Defined in Data.Default.Internal | |
Default (RequestMetadata rpc) => Default (CallParams rpc) | |
Defined in Network.GRPC.Spec.Call Methods def :: CallParams rpc # | |
(Default a1, Default a2) => Default (a1, a2) | |
Defined in Data.Default.Internal | |
Default a => Default (Const a b) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3) => Default (a1, a2, a3) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4) => Default (a1, a2, a3, a4) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5) => Default (a1, a2, a3, a4, a5) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6) => Default (a1, a2, a3, a4, a5, a6) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7) => Default (a1, a2, a3, a4, a5, a6, a7) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8) => Default (a1, a2, a3, a4, a5, a6, a7, a8) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27, Default a28) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27, Default a28, Default a29) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27, Default a28, Default a29, Default a30) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30) | |
Defined in Data.Default.Internal | |
(Default a1, Default a2, Default a3, Default a4, Default a5, Default a6, Default a7, Default a8, Default a9, Default a10, Default a11, Default a12, Default a13, Default a14, Default a15, Default a16, Default a17, Default a18, Default a19, Default a20, Default a21, Default a22, Default a23, Default a24, Default a25, Default a26, Default a27, Default a28, Default a29, Default a30, Default a31) => Default (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31) | |
Defined in Data.Default.Internal |