{-# language BangPatterns #-}
{-# language NamedFieldPuns #-}
{-# language DataKinds #-}
{-# language DeriveFunctor #-}
{-# language DuplicateRecordFields #-}
{-# language FlexibleContexts #-}
{-# language GeneralizedNewtypeDeriving #-}
{-# language MultiParamTypeClasses #-}
{-# language OverloadedStrings #-}
{-# language PolyKinds #-}
{-# language RankNTypes #-}
{-# language TypeFamilies #-}
{-# language UnboxedTuples #-}
{-# language UndecidableInstances #-}
module Kafka.ApiVersions.Request.V3
( Request(..)
, toChunks
, apiVersion
) where
import Data.Int (Int16)
import Data.Text (Text)
import Data.Bytes.Chunks (Chunks)
import qualified Kafka.Builder as Builder
apiVersion :: Int16
apiVersion :: Int16
apiVersion = Int16
3
data Request = Request
{ Request -> Text
clientSoftwareName :: !Text
, Request -> Text
clientSoftwareVersion :: !Text
}
toChunks :: Request -> Chunks
toChunks :: Request -> Chunks
toChunks Request{Text
$sel:clientSoftwareName:Request :: Request -> Text
clientSoftwareName :: Text
clientSoftwareName,Text
$sel:clientSoftwareVersion:Request :: Request -> Text
clientSoftwareVersion :: Text
clientSoftwareVersion} =
Int -> Builder -> Chunks
Builder.run Int
128 (Builder -> Chunks) -> Builder -> Chunks
forall a b. (a -> b) -> a -> b
$
Text -> Builder
Builder.compactString Text
clientSoftwareName
Builder -> Builder -> Builder
forall a. Semigroup a => a -> a -> a
<>
Text -> Builder
Builder.compactString Text
clientSoftwareVersion
Builder -> Builder -> Builder
forall a. Semigroup a => a -> a -> a
<>
Word8 -> Builder
Builder.word8 Word8
0