packages feed

milena 0.5.1.0 → 0.5.2.0

raw patch · 6 files changed

+136/−140 lines, 6 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Network.Kafka: instance GHC.Classes.Eq Network.Kafka.KafkaTime
+ Network.Kafka: instance GHC.Generics.Generic Network.Kafka.KafkaClientError
+ Network.Kafka: instance GHC.Generics.Generic Network.Kafka.KafkaState
+ Network.Kafka: instance GHC.Generics.Generic Network.Kafka.KafkaTime
+ Network.Kafka: instance GHC.Generics.Generic Network.Kafka.PartitionAndLeader
+ Network.Kafka: instance GHC.Generics.Generic Network.Kafka.TopicAndMessage
+ Network.Kafka: instance GHC.Generics.Generic Network.Kafka.TopicAndPartition
+ Network.Kafka.Protocol: instance GHC.Enum.Bounded Network.Kafka.Protocol.KafkaError
+ Network.Kafka.Protocol: instance GHC.Enum.Enum Network.Kafka.Protocol.KafkaError
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.ApiKey
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.ApiVersion
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Attributes
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Broker
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.ClientId
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.CompressionCodec
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.ConsumerGroup
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.CorrelationId
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Crc
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.FetchRequest
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.FetchResponse
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.GroupCoordinatorRequest
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.GroupCoordinatorResponse
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Host
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Isr
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.KafkaBytes
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.KafkaError
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.KafkaString
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Key
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Leader
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MagicByte
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MaxBytes
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MaxNumberOfOffsets
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MaxWaitTime
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Message
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MessageSet
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MessageSetMember
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Metadata
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MetadataRequest
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MetadataResponse
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.MinBytes
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.NodeId
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Offset
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.OffsetCommitRequest
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.OffsetCommitResponse
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.OffsetFetchRequest
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.OffsetFetchResponse
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.OffsetRequest
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.OffsetResponse
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Partition
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.PartitionMetadata
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.PartitionOffsets
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Port
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.ProduceRequest
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.ProduceResponse
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.ReplicaId
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Replicas
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Request
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.RequestMessage
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.RequiredAcks
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.ResponseMessage
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Time
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Timeout
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.TopicMetadata
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.TopicName
+ Network.Kafka.Protocol: instance GHC.Generics.Generic Network.Kafka.Protocol.Value

Files

CHANGELOG.md view
@@ -1,3 +1,9 @@+0.5.2.0++* Switch to hpack+* Add sane GHC compile options+* Add Generic deriving to all types+ 0.5.1.0  * Add GZip compression support (thanks to Pavel Kučera @pavelkucera)
Network/Kafka.hs view
@@ -1,8 +1,3 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TemplateHaskell #-}-{-# LANGUAGE FlexibleContexts #-}- module Network.Kafka where  import Control.Applicative@@ -19,6 +14,7 @@ import qualified Data.List.NonEmpty as NE import Data.Monoid ((<>)) import qualified Data.Pool as Pool+import GHC.Generics (Generic) import System.IO import qualified Data.Map as M import Data.Set (Set)@@ -52,7 +48,7 @@                              , _stateTopicMetadata :: M.Map TopicName TopicMetadata                                -- | Address cache                              , _stateAddresses :: NonEmpty KafkaAddress-                             } deriving (Show)+                             } deriving (Generic, Show)  makeLenses ''KafkaState @@ -70,7 +66,7 @@                       | KafkaInvalidBroker Leader                       | KafkaFailedToFetchMetadata                       | KafkaIOException IOException-                        deriving (Eq, Show)+                        deriving (Eq, Generic, Show)  instance Exception KafkaClientError @@ -81,25 +77,26 @@                | EarliestTime                  -- | A specific time.                | OtherTime Time+               deriving (Eq, Generic)  data PartitionAndLeader = PartitionAndLeader { _palTopic :: TopicName                                              , _palPartition :: Partition                                              , _palLeader :: Leader                                              }-                                             deriving (Show, Eq, Ord)+                                             deriving (Show, Generic, Eq, Ord)  makeLenses ''PartitionAndLeader  data TopicAndPartition = TopicAndPartition { _tapTopic :: TopicName                                            , _tapPartition :: Partition                                            }-                         deriving (Eq, Ord, Show)+                         deriving (Eq, Generic, Ord, Show)  -- | A topic with a serializable message. data TopicAndMessage = TopicAndMessage { _tamTopic :: TopicName                                        , _tamMessage :: Message                                        }-                       deriving (Eq, Show)+                       deriving (Eq, Generic, Show)  makeLenses ''TopicAndMessage 
Network/Kafka/Consumer.hs view
@@ -1,6 +1,3 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE FlexibleContexts #-}- module Network.Kafka.Consumer where  import Control.Applicative
Network/Kafka/Producer.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE FlexibleContexts #-}- module Network.Kafka.Producer where  import Data.Bits ((.&.))
Network/Kafka/Protocol.hs view
@@ -1,9 +1,3 @@-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE GADTs #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TemplateHaskell #-}-{-# LANGUAGE Rank2Types #-}- module Network.Kafka.Protocol   ( module Network.Kafka.Protocol   ) where@@ -22,6 +16,7 @@ import Data.Serialize.Get import Data.Serialize.Put import GHC.Exts (IsString(..))+import GHC.Generics (Generic) import System.IO import Numeric.Lens import Prelude hiding ((.), id)@@ -63,12 +58,12 @@ class Deserializable a where   deserialize :: Get a -newtype GroupCoordinatorResponse = GroupCoordinatorResp (KafkaError, Broker) deriving (Show, Eq, Deserializable)+newtype GroupCoordinatorResponse = GroupCoordinatorResp (KafkaError, Broker) deriving (Show, Generic, Eq, Deserializable) -newtype ApiKey = ApiKey Int16 deriving (Show, Eq, Deserializable, Serializable, Num, Integral, Ord, Real, Enum) -- numeric ID for API (i.e. metadata req, produce req, etc.)-newtype ApiVersion = ApiVersion Int16 deriving (Show, Eq, Deserializable, Serializable, Num, Integral, Ord, Real, Enum)-newtype CorrelationId = CorrelationId Int32 deriving (Show, Eq, Deserializable, Serializable, Num, Integral, Ord, Real, Enum)-newtype ClientId = ClientId KafkaString deriving (Show, Eq, Deserializable, Serializable, IsString)+newtype ApiKey = ApiKey Int16 deriving (Show, Eq, Deserializable, Serializable, Num, Integral, Ord, Real, Generic, Enum) -- numeric ID for API (i.e. metadata req, produce req, etc.)+newtype ApiVersion = ApiVersion Int16 deriving (Show, Eq, Deserializable, Serializable, Num, Integral, Ord, Real, Generic, Enum)+newtype CorrelationId = CorrelationId Int32 deriving (Show, Eq, Deserializable, Serializable, Num, Integral, Ord, Real, Generic, Enum)+newtype ClientId = ClientId KafkaString deriving (Show, Eq, Deserializable, Serializable, Generic, IsString)  data RequestMessage = MetadataRequest MetadataRequest                     | ProduceRequest ProduceRequest@@ -77,93 +72,93 @@                     | OffsetCommitRequest OffsetCommitRequest                     | OffsetFetchRequest OffsetFetchRequest                     | GroupCoordinatorRequest GroupCoordinatorRequest-                    deriving (Show, Eq)+                    deriving (Show, Generic, Eq) -newtype MetadataRequest = MetadataReq [TopicName] deriving (Show, Eq, Serializable, Deserializable)-newtype TopicName = TName { _tName :: KafkaString } deriving (Eq, Ord, Deserializable, Serializable, IsString)+newtype MetadataRequest = MetadataReq [TopicName] deriving (Show, Eq, Serializable, Generic, Deserializable)+newtype TopicName = TName { _tName :: KafkaString } deriving (Eq, Ord, Deserializable, Serializable, Generic, IsString)  instance Show TopicName where   show = show . B.unpack . _kString. _tName -newtype KafkaBytes = KBytes { _kafkaByteString :: ByteString } deriving (Show, Eq, IsString)-newtype KafkaString = KString { _kString :: ByteString } deriving (Show, Eq, Ord, IsString)+newtype KafkaBytes = KBytes { _kafkaByteString :: ByteString } deriving (Show, Eq, Generic, IsString)+newtype KafkaString = KString { _kString :: ByteString } deriving (Show, Eq, Ord, Generic, IsString)  newtype ProduceResponse =   ProduceResp { _produceResponseFields :: [(TopicName, [(Partition, KafkaError, Offset)])] }-  deriving (Show, Eq, Deserializable, Serializable)+  deriving (Show, Eq, Deserializable, Serializable, Generic)  newtype OffsetResponse =   OffsetResp { _offsetResponseFields :: [(TopicName, [PartitionOffsets])] }-  deriving (Show, Eq, Deserializable)+  deriving (Show, Eq, Deserializable, Generic)  newtype PartitionOffsets =   PartitionOffsets { _partitionOffsetsFields :: (Partition, KafkaError, [Offset]) }-  deriving (Show, Eq, Deserializable)+  deriving (Show, Eq, Deserializable, Generic)  newtype FetchResponse =   FetchResp { _fetchResponseFields :: [(TopicName, [(Partition, KafkaError, Offset, MessageSet)])] }-  deriving (Show, Eq, Serializable, Deserializable)+  deriving (Show, Eq, Serializable, Deserializable, Generic) -newtype MetadataResponse = MetadataResp { _metadataResponseFields :: ([Broker], [TopicMetadata]) } deriving (Show, Eq, Deserializable)-newtype Broker = Broker { _brokerFields :: (NodeId, Host, Port) } deriving (Show, Eq, Ord, Deserializable)-newtype NodeId = NodeId { _nodeId :: Int32 } deriving (Show, Eq, Deserializable, Num, Integral, Ord, Real, Enum)-newtype Host = Host { _hostKString :: KafkaString } deriving (Show, Eq, Ord, Deserializable, IsString)-newtype Port = Port { _portInt :: Int32 } deriving (Show, Eq, Deserializable, Num, Integral, Ord, Real, Enum)-newtype TopicMetadata = TopicMetadata { _topicMetadataFields :: (KafkaError, TopicName, [PartitionMetadata]) } deriving (Show, Eq, Deserializable)-newtype PartitionMetadata = PartitionMetadata { _partitionMetadataFields :: (KafkaError, Partition, Leader, Replicas, Isr) } deriving (Show, Eq, Deserializable)-newtype Leader = Leader { _leaderId :: Maybe Int32 } deriving (Show, Eq, Ord)+newtype MetadataResponse = MetadataResp { _metadataResponseFields :: ([Broker], [TopicMetadata]) } deriving (Show, Eq, Deserializable, Generic)+newtype Broker = Broker { _brokerFields :: (NodeId, Host, Port) } deriving (Show, Eq, Ord, Deserializable, Generic)+newtype NodeId = NodeId { _nodeId :: Int32 } deriving (Show, Eq, Deserializable, Num, Integral, Ord, Real, Enum, Generic)+newtype Host = Host { _hostKString :: KafkaString } deriving (Show, Eq, Ord, Deserializable, IsString, Generic)+newtype Port = Port { _portInt :: Int32 } deriving (Show, Eq, Deserializable, Num, Integral, Ord, Real, Enum, Generic)+newtype TopicMetadata = TopicMetadata { _topicMetadataFields :: (KafkaError, TopicName, [PartitionMetadata]) } deriving (Show, Eq, Deserializable, Generic)+newtype PartitionMetadata = PartitionMetadata { _partitionMetadataFields :: (KafkaError, Partition, Leader, Replicas, Isr) } deriving (Show, Eq, Deserializable, Generic)+newtype Leader = Leader { _leaderId :: Maybe Int32 } deriving (Show, Eq, Ord, Generic) -newtype Replicas = Replicas [Int32] deriving (Show, Eq, Serializable, Deserializable)-newtype Isr = Isr [Int32] deriving (Show, Eq, Deserializable)+newtype Replicas = Replicas [Int32] deriving (Show, Eq, Serializable, Deserializable, Generic)+newtype Isr = Isr [Int32] deriving (Show, Eq, Deserializable, Generic) -newtype OffsetCommitResponse = OffsetCommitResp [(TopicName, [(Partition, KafkaError)])] deriving (Show, Eq, Deserializable)-newtype OffsetFetchResponse = OffsetFetchResp [(TopicName, [(Partition, Offset, Metadata, KafkaError)])] deriving (Show, Eq, Deserializable)+newtype OffsetCommitResponse = OffsetCommitResp [(TopicName, [(Partition, KafkaError)])] deriving (Show, Eq, Deserializable, Generic)+newtype OffsetFetchResponse = OffsetFetchResp [(TopicName, [(Partition, Offset, Metadata, KafkaError)])] deriving (Show, Eq, Deserializable, Generic) -newtype OffsetRequest = OffsetReq (ReplicaId, [(TopicName, [(Partition, Time, MaxNumberOfOffsets)])]) deriving (Show, Eq, Serializable)-newtype Time = Time { _timeInt :: Int64 } deriving (Show, Eq, Serializable, Num, Integral, Ord, Real, Enum, Bounded)-newtype MaxNumberOfOffsets = MaxNumberOfOffsets Int32 deriving (Show, Eq, Serializable, Num, Integral, Ord, Real, Enum)+newtype OffsetRequest = OffsetReq (ReplicaId, [(TopicName, [(Partition, Time, MaxNumberOfOffsets)])]) deriving (Show, Eq, Serializable, Generic)+newtype Time = Time { _timeInt :: Int64 } deriving (Show, Eq, Serializable, Num, Integral, Ord, Real, Enum, Bounded, Generic)+newtype MaxNumberOfOffsets = MaxNumberOfOffsets Int32 deriving (Show, Eq, Serializable, Num, Integral, Ord, Real, Enum, Generic)  newtype FetchRequest =   FetchReq (ReplicaId, MaxWaitTime, MinBytes,             [(TopicName, [(Partition, Offset, MaxBytes)])])-  deriving (Show, Eq, Deserializable, Serializable)+  deriving (Show, Eq, Deserializable, Serializable, Generic) -newtype ReplicaId = ReplicaId Int32 deriving (Show, Eq, Num, Integral, Ord, Real, Enum, Serializable, Deserializable)-newtype MaxWaitTime = MaxWaitTime Int32 deriving (Show, Eq, Num, Integral, Ord, Real, Enum, Serializable, Deserializable)-newtype MinBytes = MinBytes Int32 deriving (Show, Eq, Num, Integral, Ord, Real, Enum, Serializable, Deserializable)-newtype MaxBytes = MaxBytes Int32 deriving (Show, Eq, Num, Integral, Ord, Real, Enum, Serializable, Deserializable)+newtype ReplicaId = ReplicaId Int32 deriving (Show, Eq, Num, Integral, Ord, Real, Enum, Serializable, Deserializable, Generic)+newtype MaxWaitTime = MaxWaitTime Int32 deriving (Show, Eq, Num, Integral, Ord, Real, Enum, Serializable, Deserializable, Generic)+newtype MinBytes = MinBytes Int32 deriving (Show, Eq, Num, Integral, Ord, Real, Enum, Serializable, Deserializable, Generic)+newtype MaxBytes = MaxBytes Int32 deriving (Show, Eq, Num, Integral, Ord, Real, Enum, Serializable, Deserializable, Generic)  newtype ProduceRequest =   ProduceReq (RequiredAcks, Timeout,               [(TopicName, [(Partition, MessageSet)])])-  deriving (Show, Eq, Serializable)+  deriving (Show, Eq, Serializable, Generic)  newtype RequiredAcks =-  RequiredAcks Int16 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum)+  RequiredAcks Int16 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum, Generic) newtype Timeout =-  Timeout Int32 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum)+  Timeout Int32 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum, Generic) newtype Partition =-  Partition Int32 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum)+  Partition Int32 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum, Generic)  data MessageSet = MessageSet { _codec :: CompressionCodec, _messageSetMembers :: [MessageSetMember] }-  deriving (Show, Eq)+  deriving (Show, Eq, Generic) data MessageSetMember =-  MessageSetMember { _setOffset :: Offset, _setMessage :: Message } deriving (Show, Eq)+  MessageSetMember { _setOffset :: Offset, _setMessage :: Message } deriving (Show, Eq, Generic) -newtype Offset = Offset Int64 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum)+newtype Offset = Offset Int64 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum, Generic)  newtype Message =   Message { _messageFields :: (Crc, MagicByte, Attributes, Key, Value) }-  deriving (Show, Eq, Deserializable)+  deriving (Show, Eq, Deserializable, Generic) -data CompressionCodec = NoCompression | Gzip deriving (Show, Eq)+data CompressionCodec = NoCompression | Gzip deriving (Show, Eq, Generic) -newtype Crc = Crc Int32 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum)-newtype MagicByte = MagicByte Int8 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum)-data Attributes = Attributes { _compressionCodec :: CompressionCodec } deriving (Show, Eq)+newtype Crc = Crc Int32 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum, Generic)+newtype MagicByte = MagicByte Int8 deriving (Show, Eq, Serializable, Deserializable, Num, Integral, Ord, Real, Enum, Generic)+data Attributes = Attributes { _compressionCodec :: CompressionCodec } deriving (Show, Eq, Generic) -newtype Key = Key { _keyBytes :: Maybe KafkaBytes } deriving (Show, Eq)-newtype Value = Value { _valueBytes :: Maybe KafkaBytes } deriving (Show, Eq)+newtype Key = Key { _keyBytes :: Maybe KafkaBytes } deriving (Show, Eq, Generic)+newtype Value = Value { _valueBytes :: Maybe KafkaBytes } deriving (Show, Eq, Generic)  data ResponseMessage = MetadataResponse MetadataResponse                      | ProduceResponse ProduceResponse@@ -172,14 +167,14 @@                      | OffsetCommitResponse OffsetCommitResponse                      | OffsetFetchResponse OffsetFetchResponse                      | GroupCoordinatorResponse GroupCoordinatorResponse-                     deriving (Show, Eq)+                     deriving (Show, Eq, Generic) -newtype GroupCoordinatorRequest = GroupCoordinatorReq ConsumerGroup deriving (Show, Eq, Serializable)+newtype GroupCoordinatorRequest = GroupCoordinatorReq ConsumerGroup deriving (Show, Eq, Serializable, Generic) -newtype OffsetCommitRequest = OffsetCommitReq (ConsumerGroup, [(TopicName, [(Partition, Offset, Time, Metadata)])]) deriving (Show, Eq, Serializable)-newtype OffsetFetchRequest = OffsetFetchReq (ConsumerGroup, [(TopicName, [Partition])]) deriving (Show, Eq, Serializable)-newtype ConsumerGroup = ConsumerGroup KafkaString deriving (Show, Eq, Serializable, Deserializable, IsString)-newtype Metadata = Metadata KafkaString deriving (Show, Eq, Serializable, Deserializable, IsString)+newtype OffsetCommitRequest = OffsetCommitReq (ConsumerGroup, [(TopicName, [(Partition, Offset, Time, Metadata)])]) deriving (Show, Eq, Serializable, Generic)+newtype OffsetFetchRequest = OffsetFetchReq (ConsumerGroup, [(TopicName, [Partition])]) deriving (Show, Eq, Serializable, Generic)+newtype ConsumerGroup = ConsumerGroup KafkaString deriving (Show, Eq, Serializable, Deserializable, IsString, Generic)+newtype Metadata = Metadata KafkaString deriving (Show, Eq, Serializable, Deserializable, IsString, Generic)  errorKafka :: KafkaError -> Int16 errorKafka NoError                             = 0@@ -217,7 +212,7 @@                 | OffsetsLoadInProgressCode -- ^ @14@ The broker returns this error code for an offset fetch request if it is still loading offsets (after a leader change for that offsets topic partition).                 | ConsumerCoordinatorNotAvailableCode -- ^ @15@ The broker returns this error code for consumer metadata requests or offset commit requests if the offsets topic has not yet been created.                 | NotCoordinatorForConsumerCode -- ^ @16@ The broker returns this error code if it receives an offset fetch or commit request for a consumer group that it is not a coordinator for.-                deriving (Eq, Show)+                deriving (Bounded, Enum, Eq, Generic, Show)  instance Serializable KafkaError where   serialize = serialize . errorKafka@@ -247,7 +242,7 @@  instance Exception KafkaError -newtype Request = Request (CorrelationId, ClientId, RequestMessage) deriving (Show, Eq)+newtype Request = Request (CorrelationId, ClientId, RequestMessage) deriving (Show, Eq, Generic)  instance Serializable Request where   serialize (Request (correlationId, clientId, r)) = do
milena.cabal view
@@ -1,76 +1,79 @@-name:                milena+-- This file has been generated from package.yaml by hpack version 0.18.1.+--+-- see: https://github.com/sol/hpack --- http://www.haskell.org/haskellwiki/Package_versioning_policy--- PVP summary:      +-+------- breaking API changes---                   | | +----- non-breaking API additions---                   | | | +--- code changes with no API change-version:             0.5.1.0-synopsis:            A Kafka client for Haskell.-description:-  A Kafka client for Haskell.-  The protocol module is stable (the only changes will be to support changes in the Kafka protocol). The API is functional but subject to change.-license:             BSD3-license-file:        LICENSE-author:              Tyler Holien-maintainer:          adam@adamflott.com-copyright:           2014, Tyler Holien-category:            Network-build-type:          Simple-stability:           alpha-cabal-version:       >=1.10-extra-source-files:  README.md-bug-reports:         https://github.com/adamflott/milena/issues-tested-with:         GHC == 7.10.3, GHC == 8.0.1+name:           milena+version:        0.5.2.0+synopsis:       A Kafka client for Haskell.+description:    A Kafka client for Haskell.+                The protocol module is stable (the only changes will be to support changes in the Kafka protocol). The API is functional but subject to change.+category:       Network+stability:      alpha+homepage:       https://github.com/adamflott/milena.git#readme+bug-reports:    https://github.com/adamflott/milena.git/issues+author:         Tyler Holien+maintainer:     adam@adamflott.com+copyright:      2014, Tyler Holien+license:        BSD3+license-file:   LICENSE+tested-with:    GHC==7.10.3 GHC==8.0.1+build-type:     Simple+cabal-version:  >= 1.10+ extra-source-files:     CHANGELOG.md+    README.md  source-repository head   type: git   location: https://github.com/adamflott/milena.git -source-repository this-  type: git-  location: https://github.com/adamflott/milena.git-  tag: 0.5.0.2- library+  default-extensions: ConstraintKinds DeriveGeneric FlexibleContexts GADTs GeneralizedNewtypeDeriving OverloadedStrings Rank2Types TemplateHaskell+  ghc-options: -Wall -fwarn-unused-imports -Wincomplete-uni-patterns -Wincomplete-record-updates+  build-depends:+      base >=4.7 && <5+    , bytestring >=0.10 && <0.11+    , cereal >=0.4 && <0.6+    , containers >=0.5 && <0.6+    , digest >=0.0.1.0 && <0.1+    , lens >=4.4 && <4.16+    , lifted-base >=0.2.3.6 && <0.3+    , monad-control >=1.0 && <1.1+    , mtl >=2.1 && <2.3+    , murmur-hash >=0.1.0.8 && <0.2+    , network >=2.4 && <2.7+    , random >=1.0 && <1.2+    , resource-pool >=0.2.3.2 && <0.3+    , semigroups >=0.16.2.2 && <0.19+    , transformers >=0.3 && <0.6+    , zlib >=0.6.1.2 && <0.7+  exposed-modules:+      Network.Kafka+      Network.Kafka.Consumer+      Network.Kafka.Protocol+      Network.Kafka.Producer+  other-modules:+      Paths_milena   default-language: Haskell2010-  ghc-options:         -Wall -fwarn-incomplete-uni-patterns-  exposed-modules:     Network.Kafka,-                       Network.Kafka.Consumer,-                       Network.Kafka.Protocol,-                       Network.Kafka.Producer-  build-depends:       base          >=4.7      && <5,-                       mtl           >=2.1      && <2.3,-                       cereal        >=0.4      && <0.6,-                       bytestring    >=0.10     && <0.11,-                       network       >=2.4      && <2.7,-                       digest        >=0.0.1.0  && <0.1,-                       containers    >=0.5      && <0.6,-                       monad-control >=1.0      && <1.1,-                       random        >=1.0      && <1.2,-                       transformers  >=0.3      && <0.6,-                       lens          >=4.4      && <4.16,-                       resource-pool >=0.2.3.2  && <0.3,-                       lifted-base   >=0.2.3.6  && <0.3,-                       murmur-hash   >=0.1.0.8  && <0.2,-                       semigroups    >=0.16.2.2 && <0.19,-                       zlib          >=0.6.1.2  && <0.7  test-suite test+  type: exitcode-stdio-1.0+  main-is: tests.hs+  hs-source-dirs:+      test+  default-extensions: ConstraintKinds DeriveGeneric FlexibleContexts GADTs GeneralizedNewtypeDeriving OverloadedStrings Rank2Types TemplateHaskell+  ghc-options: -Wall -fwarn-unused-imports -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -rtsopts+  build-depends:+      base+    , milena+    , mtl+    , network+    , QuickCheck+    , bytestring+    , lens+    , semigroups+    , tasty+    , tasty-hspec+    , tasty-quickcheck   default-language: Haskell2010-  ghc-options:         -Wall -threaded -fwarn-incomplete-uni-patterns-  build-depends:       base,-                       milena,-                       mtl,-                       network,-                       QuickCheck,-                       bytestring,-                       lens,-                       semigroups,-                       tasty,-                       tasty-hspec,-                       tasty-quickcheck-  hs-source-dirs:      test-  main-is:             tests.hs-  type:                exitcode-stdio-1.0