kafka-client-sync 0.1.0.0 → 0.1.0.1
raw patch · 2 files changed
+36/−8 lines, 2 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Kafka.Producer.Sync: BrokerAddress :: Text -> BrokerAddress
+ Kafka.Producer.Sync: DebugAll :: KafkaDebug
+ Kafka.Producer.Sync: DebugBroker :: KafkaDebug
+ Kafka.Producer.Sync: DebugCgrp :: KafkaDebug
+ Kafka.Producer.Sync: DebugFeature :: KafkaDebug
+ Kafka.Producer.Sync: DebugFetch :: KafkaDebug
+ Kafka.Producer.Sync: DebugGeneric :: KafkaDebug
+ Kafka.Producer.Sync: DebugMetadata :: KafkaDebug
+ Kafka.Producer.Sync: DebugMsg :: KafkaDebug
+ Kafka.Producer.Sync: DebugProtocol :: KafkaDebug
+ Kafka.Producer.Sync: DebugQueue :: KafkaDebug
+ Kafka.Producer.Sync: DebugSecurity :: KafkaDebug
+ Kafka.Producer.Sync: DebugTopic :: KafkaDebug
+ Kafka.Producer.Sync: Gzip :: KafkaCompressionCodec
+ Kafka.Producer.Sync: KafkaLogAlert :: KafkaLogLevel
+ Kafka.Producer.Sync: KafkaLogCrit :: KafkaLogLevel
+ Kafka.Producer.Sync: KafkaLogDebug :: KafkaLogLevel
+ Kafka.Producer.Sync: KafkaLogEmerg :: KafkaLogLevel
+ Kafka.Producer.Sync: KafkaLogErr :: KafkaLogLevel
+ Kafka.Producer.Sync: KafkaLogInfo :: KafkaLogLevel
+ Kafka.Producer.Sync: KafkaLogNotice :: KafkaLogLevel
+ Kafka.Producer.Sync: KafkaLogWarning :: KafkaLogLevel
+ Kafka.Producer.Sync: Lz4 :: KafkaCompressionCodec
+ Kafka.Producer.Sync: NoCompression :: KafkaCompressionCodec
+ Kafka.Producer.Sync: ProducerProperties :: Map Text Text -> Map Text Text -> Maybe KafkaLogLevel -> [KafkaConf -> IO ()] -> ProducerProperties
+ Kafka.Producer.Sync: Snappy :: KafkaCompressionCodec
+ Kafka.Producer.Sync: Timeout :: Int -> Timeout
+ Kafka.Producer.Sync: [ppCallbacks] :: ProducerProperties -> [KafkaConf -> IO ()]
+ Kafka.Producer.Sync: [ppKafkaProps] :: ProducerProperties -> Map Text Text
+ Kafka.Producer.Sync: [ppLogLevel] :: ProducerProperties -> Maybe KafkaLogLevel
+ Kafka.Producer.Sync: [ppTopicProps] :: ProducerProperties -> Map Text Text
+ Kafka.Producer.Sync: [unBrokerAddress] :: BrokerAddress -> Text
+ Kafka.Producer.Sync: [unTimeout] :: Timeout -> Int
+ Kafka.Producer.Sync: brokersList :: [BrokerAddress] -> ProducerProperties
+ Kafka.Producer.Sync: compression :: KafkaCompressionCodec -> ProducerProperties
+ Kafka.Producer.Sync: data KafkaCompressionCodec
+ Kafka.Producer.Sync: data KafkaDebug
+ Kafka.Producer.Sync: data KafkaLogLevel
+ Kafka.Producer.Sync: data ProducerProperties
+ Kafka.Producer.Sync: debugOptions :: [KafkaDebug] -> ProducerProperties
+ Kafka.Producer.Sync: extraProps :: Map Text Text -> ProducerProperties
+ Kafka.Producer.Sync: extraTopicProps :: Map Text Text -> ProducerProperties
+ Kafka.Producer.Sync: logLevel :: KafkaLogLevel -> ProducerProperties
+ Kafka.Producer.Sync: newtype BrokerAddress
+ Kafka.Producer.Sync: newtype Timeout
+ Kafka.Producer.Sync: sendTimeout :: Timeout -> ProducerProperties
+ Kafka.Producer.Sync: suppressDisconnectLogs :: ProducerProperties
+ Kafka.Producer.Sync: topicCompression :: KafkaCompressionCodec -> ProducerProperties
Files
- kafka-client-sync.cabal +1/−1
- src/Kafka/Producer/Sync.hs +35/−7
kafka-client-sync.cabal view
@@ -1,7 +1,7 @@ name: kafka-client-sync version:- 0.1.0.0+ 0.1.0.1 synopsis: Synchronous Kafka Client description:
src/Kafka/Producer/Sync.hs view
@@ -15,10 +15,34 @@ , produceRecord -- * Re-exports- , KafkaError(..)++ -- ** Record datatypes , ProducerRecord(..)- , ProducePartition(..) , TopicName(..)+ , ProducePartition(..)++ -- ** Errors+ , KafkaError(..)++ -- ** Producer configuration+ , ProducerProperties(..)+ -- ** Configuration helpers+ , KP.brokersList -- | Set brokers for producer+ , KP.logLevel -- | Set log-level for producer+ , KP.compression -- | Set compression level for producer+ , KP.topicCompression -- | Set topic compression for producer+ , KP.sendTimeout -- | Set send timeout for producer+ , KP.extraProps -- | Set extra properties for producer+ , KP.suppressDisconnectLogs -- | Suppress disconnect log lines+ , KP.extraTopicProps -- | Configure extra topic properties+ , KP.debugOptions -- | Add 'KafkaDebug' options++ -- ** Other datatypes+ , BrokerAddress(..)+ , KafkaCompressionCodec(..)+ , KafkaDebug(..)+ , KafkaLogLevel(..)+ , Timeout(..) ) where @@ -32,10 +56,14 @@ import Data.Sequence (Seq(..), (<|), (|>)) import qualified Kafka.Producer as KP (deliveryCallback, flushProducer, newProducer) import qualified Kafka.Producer as KP (produceMessage, setCallback)-import Kafka.Producer.ProducerProperties (ProducerProperties)-import Kafka.Producer.Types (KafkaProducer, ProducerRecord(..), DeliveryReport(..))-import Kafka.Producer.Types (ProducePartition(..))-import Kafka.Types (KafkaError(..), TopicName(..))+import Kafka.Producer.ProducerProperties (ProducerProperties(..))+import qualified Kafka.Producer.ProducerProperties as KP (brokersList, logLevel, compression, topicCompression)+import qualified Kafka.Producer.ProducerProperties as KP (sendTimeout, extraProps, suppressDisconnectLogs)+import qualified Kafka.Producer.ProducerProperties as KP (extraTopicProps, debugOptions)+import Kafka.Producer.Types (KafkaProducer, ProducerRecord(..))+import Kafka.Producer.Types (DeliveryReport(..), ProducePartition(..))+import Kafka.Types (KafkaLogLevel(..), KafkaError(..), TopicName(..), Timeout(..))+import Kafka.Types (KafkaDebug(..), BrokerAddress(..), KafkaCompressionCodec(..)) produceRecord :: MonadIO m => SyncKafkaProducer -> ProducerRecord -> m (Either KafkaError ()) produceRecord syncProducer record =@@ -59,7 +87,7 @@ { pending :: Seq (ResultVar, ProducerRecord) -- ^ This sequence contains records that are effectively equal to something -- that is already being sent. In order for us not to have ambiguities on- -- what 'MVar' to resolve on 'DeliverReport's - this separation is needed.+ -- what 'MVar' to resolve on 'DeliveryReport's - this separation is needed. -- -- When a sent record has it's 'ResultVar' resolved, an effectively equal -- record is removed from this @pending@ queue and produced via the