kacrab_protocol/generated/
offset_delete_request.rs1#![allow(
3 missing_docs,
4 clippy::all,
5 clippy::pedantic,
6 clippy::nursery,
7 clippy::arithmetic_side_effects,
8 reason = "Generated protocol modules mirror Kafka's schema shape and intentionally trade \
9 hand-written lint style for reproducible wire-code output."
10)]
11use bytes::{Bytes, BytesMut};
12
13use crate::*;
14
15#[derive(Debug, Clone, PartialEq)]
16pub struct OffsetDeleteRequestData {
17 pub group_id: KafkaString,
19 pub topics: Vec<OffsetDeleteRequestTopic>,
21 pub _unknown_tagged_fields: Vec<RawTaggedField>,
22}
23impl Default for OffsetDeleteRequestData {
24 fn default() -> Self {
25 Self {
26 group_id: KafkaString::default(),
27 topics: Vec::new(),
28 _unknown_tagged_fields: Vec::new(),
29 }
30 }
31}
32impl OffsetDeleteRequestData {
33 pub fn with_group_id(mut self, value: KafkaString) -> Self {
34 self.group_id = value;
35 self
36 }
37 pub fn with_topics(mut self, value: Vec<OffsetDeleteRequestTopic>) -> Self {
38 self.topics = value;
39 self
40 }
41 pub fn read(buf: &mut Bytes, version: i16) -> Result<Self> {
42 if version < 0 || version > 0 {
43 return Err(UnsupportedVersion::new(47, version).into());
44 }
45 let group_id;
46 let topics;
47 let mut _unknown_tagged_fields: Vec<RawTaggedField> = Vec::new();
48 group_id = read_string(buf)?;
49 topics = {
50 let len = read_array_length(buf)?;
51 let mut arr = Vec::with_capacity(len.max(0) as usize);
52 for _ in 0..len {
53 arr.push(OffsetDeleteRequestTopic::read(buf, version)?);
54 }
55 arr
56 };
57 Ok(Self {
58 group_id,
59 topics,
60 _unknown_tagged_fields,
61 })
62 }
63 pub fn write(&self, buf: &mut BytesMut, version: i16) -> Result<()> {
64 if version < 0 || version > 0 {
65 return Err(UnsupportedVersion::new(47, version).into());
66 }
67 write_string(buf, &self.group_id)?;
68 write_array_length(buf, self.topics.len() as i32);
69 for el in &self.topics {
70 el.write(buf, version)?;
71 }
72 Ok(())
73 }
74 pub fn encoded_len(&self, version: i16) -> Result<usize> {
75 if version < 0 || version > 0 {
76 return Err(UnsupportedVersion::new(47, version).into());
77 }
78 let mut len: usize = 0;
79 len += string_len(&self.group_id)?;
80 len += array_length_len();
81 for el in &self.topics {
82 len += el.encoded_len(version)?;
83 }
84 Ok(len)
85 }
86}
87#[derive(Debug, Clone, PartialEq)]
88pub struct OffsetDeleteRequestTopic {
89 pub name: KafkaString,
91 pub partitions: Vec<OffsetDeleteRequestPartition>,
93 pub _unknown_tagged_fields: Vec<RawTaggedField>,
94}
95impl Default for OffsetDeleteRequestTopic {
96 fn default() -> Self {
97 Self {
98 name: KafkaString::default(),
99 partitions: Vec::new(),
100 _unknown_tagged_fields: Vec::new(),
101 }
102 }
103}
104impl OffsetDeleteRequestTopic {
105 pub fn with_name(mut self, value: KafkaString) -> Self {
106 self.name = value;
107 self
108 }
109 pub fn with_partitions(mut self, value: Vec<OffsetDeleteRequestPartition>) -> Self {
110 self.partitions = value;
111 self
112 }
113 pub fn read(buf: &mut Bytes, version: i16) -> Result<Self> {
114 let name;
115 let partitions;
116 let mut _unknown_tagged_fields: Vec<RawTaggedField> = Vec::new();
117 name = read_string(buf)?;
118 partitions = {
119 let len = read_array_length(buf)?;
120 let mut arr = Vec::with_capacity(len.max(0) as usize);
121 for _ in 0..len {
122 arr.push(OffsetDeleteRequestPartition::read(buf, version)?);
123 }
124 arr
125 };
126 Ok(Self {
127 name,
128 partitions,
129 _unknown_tagged_fields,
130 })
131 }
132 pub fn write(&self, buf: &mut BytesMut, version: i16) -> Result<()> {
133 write_string(buf, &self.name)?;
134 write_array_length(buf, self.partitions.len() as i32);
135 for el in &self.partitions {
136 el.write(buf, version)?;
137 }
138 Ok(())
139 }
140 pub fn encoded_len(&self, version: i16) -> Result<usize> {
141 let mut len: usize = 0;
142 len += string_len(&self.name)?;
143 len += array_length_len();
144 for el in &self.partitions {
145 len += el.encoded_len(version)?;
146 }
147 Ok(len)
148 }
149}
150#[derive(Debug, Clone, PartialEq)]
151pub struct OffsetDeleteRequestPartition {
152 pub partition_index: i32,
154 pub _unknown_tagged_fields: Vec<RawTaggedField>,
155}
156impl Default for OffsetDeleteRequestPartition {
157 fn default() -> Self {
158 Self {
159 partition_index: 0_i32,
160 _unknown_tagged_fields: Vec::new(),
161 }
162 }
163}
164impl OffsetDeleteRequestPartition {
165 pub fn with_partition_index(mut self, value: i32) -> Self {
166 self.partition_index = value;
167 self
168 }
169 pub fn read(buf: &mut Bytes, _version: i16) -> Result<Self> {
170 let partition_index;
171 let mut _unknown_tagged_fields: Vec<RawTaggedField> = Vec::new();
172 partition_index = read_i32(buf)?;
173 Ok(Self {
174 partition_index,
175 _unknown_tagged_fields,
176 })
177 }
178 pub fn write(&self, buf: &mut BytesMut, _version: i16) -> Result<()> {
179 write_i32(buf, self.partition_index);
180 Ok(())
181 }
182 pub fn encoded_len(&self, _version: i16) -> Result<usize> {
183 let mut len: usize = 0;
184 len += 4;
185 Ok(len)
186 }
187}