simplexmq-6.5.0.16: SimpleXMQ message broker
Safe HaskellSafe-Inferred
LanguageHaskell2010

Simplex.Messaging.Server.QueueStore.STM

Documentation

data STMQueueStore q Source #

Instances

Instances details
StoreQueueClass q => QueueStoreClass q (STMQueueStore q) Source # 
Instance details

Defined in Simplex.Messaging.Server.QueueStore.STM

Associated Types

type QueueStoreCfg (STMQueueStore q) Source #

Methods

newQueueStore :: QueueStoreCfg (STMQueueStore q) -> IO (STMQueueStore q) Source #

closeQueueStore :: STMQueueStore q -> IO () Source #

getEntityCounts :: STMQueueStore q -> IO EntityCounts Source #

loadedQueues :: STMQueueStore q -> TMap RecipientId q Source #

compactQueues :: STMQueueStore q -> IO Int64 Source #

addQueue_ :: STMQueueStore q -> (RecipientId -> QueueRec -> IO q) -> RecipientId -> QueueRec -> IO (Either ErrorType q) Source #

getQueue_ :: forall (p :: Party). QueueParty p => STMQueueStore q -> (Bool -> RecipientId -> QueueRec -> IO q) -> SParty p -> QueueId -> IO (Either ErrorType q) Source #

getQueues_ :: forall (p :: Party). BatchParty p => STMQueueStore q -> (Bool -> RecipientId -> QueueRec -> IO q) -> SParty p -> [QueueId] -> IO [Either ErrorType q] Source #

getQueueLinkData :: STMQueueStore q -> q -> LinkId -> IO (Either ErrorType QueueLinkData) Source #

addQueueLinkData :: STMQueueStore q -> q -> LinkId -> QueueLinkData -> IO (Either ErrorType ()) Source #

deleteQueueLinkData :: STMQueueStore q -> q -> IO (Either ErrorType ()) Source #

secureQueue :: STMQueueStore q -> q -> SndPublicAuthKey -> IO (Either ErrorType ()) Source #

updateKeys :: STMQueueStore q -> q -> NonEmpty RcvPublicAuthKey -> IO (Either ErrorType ()) Source #

addQueueNotifier :: STMQueueStore q -> q -> NtfCreds -> IO (Either ErrorType (Maybe NtfCreds)) Source #

deleteQueueNotifier :: STMQueueStore q -> q -> IO (Either ErrorType (Maybe NtfCreds)) Source #

suspendQueue :: STMQueueStore q -> q -> IO (Either ErrorType ()) Source #

blockQueue :: STMQueueStore q -> q -> BlockingInfo -> IO (Either ErrorType ()) Source #

unblockQueue :: STMQueueStore q -> q -> IO (Either ErrorType ()) Source #

updateQueueTime :: STMQueueStore q -> q -> SystemDate -> IO (Either ErrorType QueueRec) Source #

deleteStoreQueue :: STMQueueStore q -> q -> IO (Either ErrorType QueueRec) Source #

getCreateService :: STMQueueStore q -> ServiceRec -> IO (Either ErrorType ServiceId) Source #

setQueueService :: forall (p :: Party). (PartyI p, ServiceParty p) => STMQueueStore q -> q -> SParty p -> Maybe ServiceId -> IO (Either ErrorType ()) Source #

getQueueNtfServices :: STMQueueStore q -> [(NotifierId, a)] -> IO (Either ErrorType ([(Maybe ServiceId, [(NotifierId, a)])], [(NotifierId, a)])) Source #

getServiceQueueCount :: forall (p :: Party). (PartyI p, ServiceParty p) => STMQueueStore q -> SParty p -> ServiceId -> IO (Either ErrorType Int64) Source #

type QueueStoreCfg (STMQueueStore q) Source # 
Instance details

Defined in Simplex.Messaging.Server.QueueStore.STM

data STMService Source #

Constructors

STMService 

setStoreLog :: STMQueueStore q -> StoreLog 'WriteMode -> IO () Source #

withLog' :: Text -> TVar (Maybe (StoreLog 'WriteMode)) -> (StoreLog 'WriteMode -> IO ()) -> IO (Either ErrorType ()) Source #

readQueueRecIO :: TVar (Maybe QueueRec) -> IO (Either ErrorType QueueRec) Source #

setStatus :: TVar (Maybe QueueRec) -> ServerEntityStatus -> IO (Either ErrorType ()) Source #