| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cardano.Rpc.Server.Internal.Monad
Synopsis
- class Has field env where
- obtain :: env -> field
- type MonadRpc e (m :: Type -> Type) = (Has (Tracer m TraceRpc) e, Has LocalNodeConnectInfo e, HasCallStack, MonadReader e m, MonadUnliftIO m)
- grab :: (Has field env, MonadReader env m) => m field
- putTrace :: forall t' t e m. (t ~ TraceRpc, Inject t' t, Has (Tracer m t) e, MonadReader e m) => t' -> m ()
- wrapInSpan :: forall t' t e m a. (t ~ TraceRpc, Inject t' t, NFData a, Has (Tracer m t) e, MonadReader e m, MonadUnliftIO m) => (TraceSpanEvent -> t') -> m a -> m a
Documentation
class Has field env where Source #
Provides a value of type field from the value env
Used in conjunction with 'MonadReader env m' allows to easily access fields from the environment.
type MonadRpc e (m :: Type -> Type) = (Has (Tracer m TraceRpc) e, Has LocalNodeConnectInfo e, HasCallStack, MonadReader e m, MonadUnliftIO m) Source #
grab :: (Has field env, MonadReader env m) => m field Source #
Obtain the field from the environment
Arguments
| :: forall t' t e m. (t ~ TraceRpc, Inject t' t, Has (Tracer m t) e, MonadReader e m) | |
| => t' | the traced value |
| -> m () |
Using tracer from the environment, print the trace
Arguments
| :: forall t' t e m a. (t ~ TraceRpc, Inject t' t, NFData a, Has (Tracer m t) e, MonadReader e m, MonadUnliftIO m) | |
| => (TraceSpanEvent -> t') | Trace constructor accepting |
| -> m a | action to be wrapped in begin and end events |
| -> m a |
Wrap the action in span begin and end events