galley-0.83.0: Conversations
Safe HaskellSafe-Inferred
LanguageGHC2021

Galley.Effects.FederatorAccess

Synopsis

Federator access effect

data FederatorAccess m a where Source #

Constructors

RunFederated :: KnownComponent c => Remote x -> FederatorClient c a -> FederatorAccess m a 
RunFederatedEither :: KnownComponent c => Remote x -> FederatorClient c a -> FederatorAccess m (Either FederationError a) 
RunFederatedConcurrently :: (KnownComponent c, Foldable f, Functor f) => f (Remote x) -> (Remote [x] -> FederatorClient c a) -> FederatorAccess m [Remote a] 
RunFederatedConcurrentlyEither :: forall (c :: Component) f a m x. (KnownComponent c, Foldable f, Functor f) => f (Remote x) -> (Remote [x] -> FederatorClient c a) -> FederatorAccess m [Either (Remote [x], FederationError) (Remote a)] 
RunFederatedConcurrentlyBucketsEither :: forall (c :: Component) f a m x. (KnownComponent c, Foldable f) => f (Remote x) -> (Remote x -> FederatorClient c a) -> FederatorAccess m [Either (Remote x, FederationError) (Remote a)]

An action similar to RunFederatedConcurrentlyEither, but whose input is already in buckets. The buckets are paired with arbitrary data that affect the payload of the request for each remote backend.

IsFederationConfigured :: FederatorAccess m Bool 

runFederated :: forall r c x a. (Member FederatorAccess r, KnownComponent c) => Remote x -> FederatorClient c a -> Sem r a Source #

runFederatedConcurrently :: forall r c f x a. (Member FederatorAccess r, KnownComponent c, Foldable f, Functor f) => f (Remote x) -> (Remote [x] -> FederatorClient c a) -> Sem r [Remote a] Source #

runFederatedConcurrentlyBucketsEither :: forall r c f x a. (Member FederatorAccess r, KnownComponent c, Foldable f) => f (Remote x) -> (Remote x -> FederatorClient c a) -> Sem r [Either (Remote x, FederationError) (Remote a)] Source #

An action similar to RunFederatedConcurrentlyEither, but whose input is already in buckets. The buckets are paired with arbitrary data that affect the payload of the request for each remote backend.