Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- runNotificationSubsystemGundeck :: (Member GundeckAPIAccess r, Member Async r, Member Delay r, Member (Final IO) r, Member TinyLog r) => NotificationSubsystemConfig -> Sem (NotificationSubsystem : r) a -> Sem r a
- data NotificationSubsystemConfig = NotificationSubsystemConfig {}
- defaultNotificationSubsystemConfig :: RequestId -> NotificationSubsystemConfig
- defaultFanoutLimit :: Range 1 HardTruncationLimit Int32
- defaultChunkSize :: Natural
- defaultSlowPushDelay :: DiffTime
- pushAsyncImpl :: forall r. (Member GundeckAPIAccess r, Member (Input NotificationSubsystemConfig) r, Member Async r, Member (Final IO) r, Member TinyLog r) => Push -> Sem r (Async (Maybe ()))
- pushImpl :: forall r. (Member GundeckAPIAccess r, Member (Input NotificationSubsystemConfig) r, Member Async r) => [Push] -> Sem r ()
- removeIfLargeFanout :: Range n m Int32 -> [Push] -> [Push]
- mkPushes :: Natural -> [Push] -> [[Push]]
- toV2Push :: Push -> Push
- chunkPushes :: Natural -> [Push] -> [[Push]]
- pushSlowlyImpl :: (Member Delay r, Member (Input NotificationSubsystemConfig) r, Member GundeckAPIAccess r, Member Async r) => [Push] -> Sem r ()
Documentation
runNotificationSubsystemGundeck :: (Member GundeckAPIAccess r, Member Async r, Member Delay r, Member (Final IO) r, Member TinyLog r) => NotificationSubsystemConfig -> Sem (NotificationSubsystem : r) a -> Sem r a Source #
We interpret this using GundeckAPIAccess
so we can mock it out for testing.
pushAsyncImpl :: forall r. (Member GundeckAPIAccess r, Member (Input NotificationSubsystemConfig) r, Member Async r, Member (Final IO) r, Member TinyLog r) => Push -> Sem r (Async (Maybe ())) Source #
pushImpl :: forall r. (Member GundeckAPIAccess r, Member (Input NotificationSubsystemConfig) r, Member Async r) => [Push] -> Sem r () Source #
pushSlowlyImpl :: (Member Delay r, Member (Input NotificationSubsystemConfig) r, Member GundeckAPIAccess r, Member Async r) => [Push] -> Sem r () Source #