func (t *OffsetFetchRequestV1) Marshal(w *wipro.Writer) {
	w.WriteString(t.ConsumerGroup)
	w.WriteInt32(int32(len(t.PartitionInTopics)))
	for i := range t.PartitionInTopics {
		t.PartitionInTopics[i].Marshal(w)
	}
}
func (t *RequestOrResponse) Marshal(w *wipro.Writer) {
	offset := len(w.B)
	w.WriteInt32(t.Size)
	start := len(w.B)
	t.M.Marshal(w)
	w.SetInt32(offset, int32(len(w.B)-start))
}
func (t *SizedMessage) Marshal(w *wipro.Writer) {
	offset := len(w.B)
	w.WriteInt32(t.Size)
	start := len(w.B)
	t.CRCMessage.Marshal(w)
	w.SetInt32(offset, int32(len(w.B)-start))
}
func (t *JoinGroupRequest) Marshal(w *wipro.Writer) {
	w.WriteString(t.GroupID)
	w.WriteInt32(t.SessionTimeout)
	w.WriteString(t.MemberID)
	w.WriteString(t.ProtocolType)
	t.GroupProtocols.Marshal(w)
}
func (t *OffsetRequest) Marshal(w *wipro.Writer) {
	w.WriteInt32(t.ReplicaID)
	w.WriteInt32(int32(len(t.TimeInTopics)))
	for i := range t.TimeInTopics {
		t.TimeInTopics[i].Marshal(w)
	}
}
func (t *OffsetCommitInTopicV2) Marshal(w *wipro.Writer) {
	w.WriteString(t.TopicName)
	w.WriteInt32(int32(len(t.OffsetCommitInPartitionV2s)))
	for i := range t.OffsetCommitInPartitionV2s {
		t.OffsetCommitInPartitionV2s[i].Marshal(w)
	}
}
func (t *OffsetCommitRequestV0) Marshal(w *wipro.Writer) {
	w.WriteString(t.ConsumerGroupID)
	w.WriteInt32(int32(len(t.OffsetCommitInTopicV0s)))
	for i := range t.OffsetCommitInTopicV0s {
		t.OffsetCommitInTopicV0s[i].Marshal(w)
	}
}
func (t *OffsetMetadataInTopic) Marshal(w *wipro.Writer) {
	w.WriteString(t.TopicName)
	w.WriteInt32(int32(len(t.OffsetMetadataInPartitions)))
	for i := range t.OffsetMetadataInPartitions {
		t.OffsetMetadataInPartitions[i].Marshal(w)
	}
}
func (t *FetchMessageSetInTopic) Marshal(w *wipro.Writer) {
	w.WriteString(t.TopicName)
	w.WriteInt32(int32(len(t.FetchMessageSetInPartitions)))
	for i := range t.FetchMessageSetInPartitions {
		t.FetchMessageSetInPartitions[i].Marshal(w)
	}
}
func (t *PartitionAssignment) Marshal(w *wipro.Writer) {
	w.WriteString(t.Topic)
	w.WriteInt32(int32(len(t.Partitions)))
	for i := range t.Partitions {
		w.WriteInt32(t.Partitions[i])
	}
}
func (t *Request) Marshal(w *wipro.Writer) {
	w.WriteInt16(t.APIKey)
	w.WriteInt16(t.APIVersion)
	w.WriteInt32(t.CorrelationID)
	w.WriteString(t.ClientID)
	t.RequestMessage.Marshal(w)
}
func (t *OffsetsInPartition) Marshal(w *wipro.Writer) {
	w.WriteInt32(t.Partition)
	t.ErrorCode.Marshal(w)
	w.WriteInt32(int32(len(t.Offsets)))
	for i := range t.Offsets {
		w.WriteInt64(t.Offsets[i])
	}
}
func (t *TopicMetadata) Marshal(w *wipro.Writer) {
	t.ErrorCode.Marshal(w)
	w.WriteString(t.TopicName)
	w.WriteInt32(int32(len(t.PartitionMetadatas)))
	for i := range t.PartitionMetadatas {
		t.PartitionMetadatas[i].Marshal(w)
	}
}
func (t *JoinGroupResponse) Marshal(w *wipro.Writer) {
	t.ErrorCode.Marshal(w)
	w.WriteInt32(t.GenerationID)
	w.WriteString(t.GroupProtocolName)
	w.WriteString(t.LeaderID)
	w.WriteString(t.MemberID)
	t.MemberWithMetas.Marshal(w)
}
func (t *ProduceRequest) Marshal(w *wipro.Writer) {
	w.WriteInt16(t.RequiredAcks)
	w.WriteInt32(t.Timeout)
	w.WriteInt32(int32(len(t.MessageSetInTopics)))
	for i := range t.MessageSetInTopics {
		t.MessageSetInTopics[i].Marshal(w)
	}
}
func (t *MessageSet) Marshal(w *wipro.Writer) {
	offset := len(w.B)
	w.WriteInt32(0)
	start := len(w.B)
	for i := range *t {
		(*t)[i].Marshal(w)
	}
	w.SetInt32(offset, int32(len(w.B)-start))
}
func (t *OffsetCommitRequestV2) Marshal(w *wipro.Writer) {
	w.WriteString(t.ConsumerGroup)
	w.WriteInt32(t.ConsumerGroupGenerationID)
	w.WriteString(t.ConsumerID)
	w.WriteInt64(t.RetentionTime)
	w.WriteInt32(int32(len(t.OffsetCommitInTopicV2s)))
	for i := range t.OffsetCommitInTopicV2s {
		t.OffsetCommitInTopicV2s[i].Marshal(w)
	}
}
func (t *TopicMetadataResponse) Marshal(w *wipro.Writer) {
	w.WriteInt32(int32(len(t.Brokers)))
	for i := range t.Brokers {
		t.Brokers[i].Marshal(w)
	}
	w.WriteInt32(int32(len(t.TopicMetadatas)))
	for i := range t.TopicMetadatas {
		t.TopicMetadatas[i].Marshal(w)
	}
}
func (t *FetchRequest) Marshal(w *wipro.Writer) {
	w.WriteInt32(t.ReplicaID)
	w.WriteInt32(t.MaxWaitTime)
	w.WriteInt32(t.MinBytes)
	w.WriteInt32(int32(len(t.FetchOffsetInTopics)))
	for i := range t.FetchOffsetInTopics {
		t.FetchOffsetInTopics[i].Marshal(w)
	}
}
func (t *HeartbeatRequest) Marshal(w *wipro.Writer) {
	w.WriteString(t.GroupID)
	w.WriteInt32(t.GenerationID)
	w.WriteString(t.MemberID)
}
func (t *PartitionAssignments) Marshal(w *wipro.Writer) {
	w.WriteInt32(int32(len((*t))))
	for i := range *t {
		(*t)[i].Marshal(w)
	}
}
func (t *MemberWithMetas) Marshal(w *wipro.Writer) {
	w.WriteInt32(int32(len((*t))))
	for i := range *t {
		(*t)[i].Marshal(w)
	}
}
func (t *SyncGroupRequest) Marshal(w *wipro.Writer) {
	w.WriteString(t.GroupID)
	w.WriteInt32(t.GenerationID)
	w.WriteString(t.MemberID)
	t.GroupAssignments.Marshal(w)
}
func (t *OffsetCommitInPartitionV2) Marshal(w *wipro.Writer) {
	w.WriteInt32(t.Partition)
	w.WriteInt64(t.Offset)
	w.WriteString(t.Metadata)
}
func (t *TimeInPartition) Marshal(w *wipro.Writer) {
	w.WriteInt32(t.Partition)
	w.WriteInt64(t.Time)
	w.WriteInt32(t.MaxNumberOfOffsets)
}
func (t *Subscription) Marshal(w *wipro.Writer) {
	w.WriteInt32(int32(len((*t))))
	for i := range *t {
		w.WriteString((*t)[i])
	}
}
func (t *GroupProtocols) Marshal(w *wipro.Writer) {
	w.WriteInt32(int32(len((*t))))
	for i := range *t {
		(*t)[i].Marshal(w)
	}
}
func (t *ErrorInPartition) Marshal(w *wipro.Writer) {
	w.WriteInt32(t.Partition)
	t.ErrorCode.Marshal(w)
}
func (t *OffsetMetadataInPartition) Marshal(w *wipro.Writer) {
	w.WriteInt32(t.Partition)
	w.WriteInt64(t.Offset)
	w.WriteString(t.Metadata)
	t.ErrorCode.Marshal(w)
}
func (t *OffsetFetchResponse) Marshal(w *wipro.Writer) {
	w.WriteInt32(int32(len((*t))))
	for i := range *t {
		(*t)[i].Marshal(w)
	}
}