Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data SparrowServerT http m a
- data Env m = Env {
- envSessionsOutgoing :: !SessionsOutgoing
- envRegisteredReceive :: !(RegisteredReceive m)
- envRegisteredTopicInvalidators :: !RegisteredTopicInvalidators
- envRegisteredTopicSubscribers :: !RegisteredTopicSubscribers
- envRegisteredOnUnsubscribe :: !(RegisteredOnUnsubscribe m)
- envRegisteredOnOpenThreads :: !RegisteredOnOpenThreads
- newEnv :: IO (Env m)
- execSparrowServerT :: MonadIO m => SparrowServerT http m a -> m (Paper http, Env m)
- execSparrowServerT' :: Monad m => Env m -> SparrowServerT http m a -> m (Paper http)
- tell' :: Monad m => Paper http -> SparrowServerT http m ()
- ask' :: Monad m => SparrowServerT http m (Env m)
- unsafeBroadcastTopic :: MonadIO m => Env m -> Topic -> Value -> m ()
- unsafeRegisterReceive :: MonadIO m => Env m -> SessionID -> Topic -> (Value -> Maybe (m ())) -> STM ()
- sendTo :: Env m -> SessionID -> WSOutgoing (WithTopic Value) -> STM ()
- registerOnUnsubscribe :: Env m -> SessionID -> Topic -> m () -> STM ()
- registerInvalidator :: forall deltaIn m. FromJSON deltaIn => Env m -> Topic -> Proxy deltaIn -> STM ()
- broadcaster :: MonadIO m => Env m -> Broadcast m
- getCurrentRegisteredTopics :: Env m -> SessionID -> STM [Topic]
- getCallReceive :: MonadIO m => Env m -> SessionID -> Topic -> Value -> STM (Maybe (m ()))
- callOnUnsubscribe :: MonadIO m => Env m -> SessionID -> Topic -> m ()
- callAllOnUnsubscribe :: MonadIO m => Env m -> SessionID -> m ()
- registerOnOpenThread :: Env m -> SessionID -> Topic -> Async () -> STM ()
- killOnOpenThread :: MonadIO m => Env m -> SessionID -> Topic -> IO ()
- killAllOnOpenThreads :: MonadIO m => Env m -> SessionID -> IO ()
- unregisterReceive :: Env m -> SessionID -> Topic -> STM ()
- unregisterSession :: Env m -> SessionID -> STM ()
- addSubscriber :: Env m -> Topic -> SessionID -> STM ()
- delSubscriber :: Env m -> Topic -> SessionID -> STM ()
- delSubscriberFromAllTopics :: Env m -> SessionID -> STM ()
- data SparrowServerException = NoHandlerForTopic Topic
Context
data SparrowServerT http m a Source #
MonadWriter w m => MonadWriter w (SparrowServerT http m) Source # | |
MonadState s m => MonadState s (SparrowServerT http m) Source # | |
MonadReader r m => MonadReader r (SparrowServerT http m) Source # | |
MonadTrans (SparrowServerT http) Source # | |
Monad m => Monad (SparrowServerT http m) Source # | |
Functor m => Functor (SparrowServerT http m) Source # | |
Monad m => Applicative (SparrowServerT http m) Source # | |
MonadIO m => MonadIO (SparrowServerT http m) Source # | |
MonadThrow m => MonadThrow (SparrowServerT http m) Source # | |
MonadCatch m => MonadCatch (SparrowServerT http m) Source # | |
MonadMask m => MonadMask (SparrowServerT http m) Source # | |
Env | |
|
execSparrowServerT :: MonadIO m => SparrowServerT http m a -> m (Paper http, Env m) Source #
execSparrowServerT' :: Monad m => Env m -> SparrowServerT http m a -> m (Paper http) Source #
tell' :: Monad m => Paper http -> SparrowServerT http m () Source #
Internal Machinery
Outgoing Per-Session
unsafeRegisterReceive :: MonadIO m => Env m -> SessionID -> Topic -> (Value -> Maybe (m ())) -> STM () Source #
Continuation Registration
registerInvalidator :: forall deltaIn m. FromJSON deltaIn => Env m -> Topic -> Proxy deltaIn -> STM () Source #