| Copyright | (c) Moritz Schulte 2017 |
|---|---|
| License | BSD3 |
| Maintainer | mtesseract@silverratio.net |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | None |
| Language | Haskell2010 |
Network.Nakadi.Subscriptions.Events
Description
This module implements a high level interface for the
/subscriptions/SUBSCRIPTIONS/events API.
- subscriptionSource :: (MonadNakadi m, MonadResource m, MonadBaseControl IO m, MonadMask m, FromJSON a) => Config -> Maybe ConsumeParameters -> SubscriptionId -> m (SubscriptionEventStream, ConduitM () (SubscriptionEventStreamBatch a) (ReaderT SubscriptionEventStreamContext m) ())
- subscriptionSourceR :: (MonadNakadiEnv r m, MonadResource m, MonadBaseControl IO m, MonadMask m, FromJSON a) => Maybe ConsumeParameters -> SubscriptionId -> m (SubscriptionEventStream, ConduitM () (SubscriptionEventStreamBatch a) (ReaderT SubscriptionEventStreamContext m) ())
- runSubscription :: (Monad m, MonadBaseControl IO m, MonadResource m) => Config -> SubscriptionEventStream -> ConduitM () Void (ReaderT SubscriptionEventStreamContext m) r -> m r
- runSubscriptionR :: (Monad m, MonadBaseControl IO m, MonadResource m, MonadReader r m, HasNakadiConfig r Config) => SubscriptionEventStream -> ConduitM () Void (ReaderT SubscriptionEventStreamContext m) s -> m s
- subscriptionSink :: (MonadNakadi m, HasNakadiSubscriptionCursor a) => ConduitM a Void (ReaderT SubscriptionEventStreamContext m) ()
Documentation
Arguments
| :: (MonadNakadi m, MonadResource m, MonadBaseControl IO m, MonadMask m, FromJSON a) | |
| => Config | Configuration |
| -> Maybe ConsumeParameters | Optional Consumption Parameters |
| -> SubscriptionId | Subscription ID |
| -> m (SubscriptionEventStream, ConduitM () (SubscriptionEventStreamBatch a) (ReaderT SubscriptionEventStreamContext m) ()) | Returns a Pair consisting of subscription
connection information ( |
GET to /subscriptions/SUBSCRIPTION/events. Creates a Conduit
Source producing events from a Subscription's event stream.
Arguments
| :: (MonadNakadiEnv r m, MonadResource m, MonadBaseControl IO m, MonadMask m, FromJSON a) | |
| => Maybe ConsumeParameters | Optional Consumption Parameters |
| -> SubscriptionId | Subscription ID |
| -> m (SubscriptionEventStream, ConduitM () (SubscriptionEventStreamBatch a) (ReaderT SubscriptionEventStreamContext m) ()) | Returns a Pair consisting of subscription
connection information ( |
GET to /subscriptions/SUBSCRIPTION/events. Creates a Conduit
Source producing events from a Subscription's event stream. Uses
the configuration from the environment.
Arguments
| :: (Monad m, MonadBaseControl IO m, MonadResource m) | |
| => Config | Configuration |
| -> SubscriptionEventStream | Connection information for the Subscription |
| -> ConduitM () Void (ReaderT SubscriptionEventStreamContext m) r | Subscription Conduit to run |
| -> m r | Result of the Conduit |
Run a Subscription processing Conduit.
Arguments
| :: (Monad m, MonadBaseControl IO m, MonadResource m, MonadReader r m, HasNakadiConfig r Config) | |
| => SubscriptionEventStream | Connection information for the Subscription |
| -> ConduitM () Void (ReaderT SubscriptionEventStreamContext m) s | Subscription Conduit to run |
| -> m s | Result of the Conduit |
Run a Subscription processing Conduit. Uses the configuration contained in the environment.
subscriptionSink :: (MonadNakadi m, HasNakadiSubscriptionCursor a) => ConduitM a Void (ReaderT SubscriptionEventStreamContext m) () Source #
Sink which can be used as sink for Conduits processing subscriptions events. This sink takes care of committing events. It can consume any values which contain Subscription Cursors.