moved the kafka-go project to this repository

This commit is contained in:
Timmelmann
2026-08-08 14:26:06 +02:00
commit 58710c23b2
11 changed files with 225 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
package protocol
import "encoding/binary"
type Request struct {
bytes []byte
byteParseOffset uint
Length int32
Header *RequestHeader
}
func NewRequest(bytes []byte) *Request {
req := Request{
bytes: bytes,
byteParseOffset: 0,
}
req.Length = req.ReadInt32()
req.Header = ParseRequestHeader(&req)
return &req
}
func (r *Request) ReadInt16() int16{
val := binary.BigEndian.Uint16(r.bytes[r.byteParseOffset:])
r.byteParseOffset += 2
return int16(val)
}
func (r *Request) ReadInt32() int32 {
val := binary.BigEndian.Uint32(r.bytes[r.byteParseOffset:])
r.byteParseOffset += 4
return int32(val)
}
+19
View File
@@ -0,0 +1,19 @@
package protocol
type RequestHeader struct {
APIKey int16
APIVersion int16
Correlation_id int32
}
func ParseRequestHeader(r *Request) *RequestHeader {
apiKey := r.ReadInt16()
apiVersion := r.ReadInt16()
correlation_id := r.ReadInt32()
return &RequestHeader{
APIKey: apiKey,
APIVersion: apiVersion,
Correlation_id: correlation_id,
}
}