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