The kafka-proto-serde module provides an Apache Kafka Serde/Serializer/Deserializer implementation for Google’s Protocol Buffers (aka. Protobuf, Proto) and some convenience building blocks to ease the Kotlin experience while working with the Java based libraries.

All Types

com.fleshgrinder.kotlin.kafka.BaseSerde

BaseSerde combines Serde, Serializer, and Deserializer into a single unit and fixes type information for Kotlin. One should not program against this directly, however, it is a convenient basis for writing Kafka Serdes for other types that you might require in your code base.

com.google.protobuf.Message (extensions in package com.fleshgrinder.kotlin.kafka)
com.fleshgrinder.kotlin.kafka.NativeSerde

NativeSerde decorates Kafka Serdes and allows direct access to its Serializer and Deserializer functions.

com.fleshgrinder.kotlin.kafka.Proto

Proto is a more descriptive type alias for the very generic Message interface from Protobuf. It is also how most people address Protobuf in their conversational language, hence, it aligns the code with that.

com.fleshgrinder.kotlin.kafka.ProtoSerde

The ProtoSerde class is a Kafka Serde/Serializer/Deserializer for Proto, version 2 and 3, objects.