| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Simplex.Messaging.Agent.TSessionSubs
Documentation
data TSessionSubs Source #
Constructors
| SessSubs | |
Fields
| |
emptyIO :: IO TSessionSubs Source #
clear :: TSessionSubs -> STM () Source #
hasActiveSub :: SMPTransportSession -> RecipientId -> TSessionSubs -> STM Bool Source #
hasPendingSub :: SMPTransportSession -> RecipientId -> TSessionSubs -> STM Bool Source #
addPendingSub :: SMPTransportSession -> RcvQueueSub -> TSessionSubs -> STM () Source #
setSessionId :: SMPTransportSession -> SessionId -> TSessionSubs -> STM () Source #
addActiveSub :: SMPTransportSession -> SessionId -> RcvQueueSub -> TSessionSubs -> STM () Source #
batchAddActiveSubs :: SMPTransportSession -> SessionId -> [RcvQueueSub] -> TSessionSubs -> STM () Source #
batchAddPendingSubs :: SMPTransportSession -> [RcvQueueSub] -> TSessionSubs -> STM () Source #
deletePendingSub :: SMPTransportSession -> RecipientId -> TSessionSubs -> STM () Source #
batchDeletePendingSubs :: SMPTransportSession -> Set RecipientId -> TSessionSubs -> STM () Source #
deleteSub :: SMPTransportSession -> RecipientId -> TSessionSubs -> STM () Source #
batchDeleteSubs :: SomeRcvQueue q => SMPTransportSession -> [q] -> TSessionSubs -> STM () Source #
hasPendingSubs :: SMPTransportSession -> TSessionSubs -> STM Bool Source #
getPendingSubs :: SMPTransportSession -> TSessionSubs -> STM (Map RecipientId RcvQueueSub) Source #
getActiveSubs :: SMPTransportSession -> TSessionSubs -> STM (Map RecipientId RcvQueueSub) Source #
setSubsPending :: TransportSessionMode -> SMPTransportSession -> SessionId -> TSessionSubs -> STM (Map RecipientId RcvQueueSub) Source #
updateClientNotices :: SMPTransportSession -> [(RecipientId, Maybe Int64)] -> TSessionSubs -> STM () Source #
foldSessionSubs :: (a -> (SMPTransportSession, SessSubs) -> IO a) -> a -> TSessionSubs -> IO a Source #
mapSubs :: (Map RecipientId RcvQueueSub -> a) -> SessSubs -> IO (a, a) Source #