krabka_protocol/opt/rustwide/workdir/generated/
AlterUserScramCredentialsResponse.borrowed.rs1use bytes::BufMut;
3
4use crate::{
5 DecodeBorrow, Encode, ProtocolError, UnknownTaggedFields,
6 owned::alter_user_scram_credentials_response,
7 primitives::{
8 array::{array_len_prefix_len, get_array_len, put_array_len},
9 fixed::{get_i16, get_i32, put_i16, put_i32},
10 string_bytes::{
11 compact_nullable_string_len, compact_string_len, nullable_string_len,
12 put_compact_nullable_string, put_compact_string, put_nullable_string, put_string,
13 string_len,
14 },
15 string_bytes_borrowed::{
16 get_compact_nullable_string_borrowed, get_compact_string_borrowed,
17 get_nullable_string_borrowed, get_string_borrowed,
18 },
19 },
20 tagged_fields::{WriteTaggedFields, read_tagged_fields, tagged_fields_len},
21};
22pub const API_KEY: i16 = 51;
23pub const MIN_VERSION: i16 = 0;
24pub const MAX_VERSION: i16 = 0;
25pub const FLEXIBLE_MIN: i16 = 0;
26#[inline]
27#[must_use]
28pub fn is_flexible(version: i16) -> bool {
29 version >= FLEXIBLE_MIN
30}
31#[derive(Debug, Clone, PartialEq, Eq, Default)]
32pub struct AlterUserScramCredentialsResponse<'a> {
33 pub throttle_time_ms: i32,
34 pub results: Vec<AlterUserScramCredentialsResult<'a>>,
35 pub unknown_tagged_fields: UnknownTaggedFields,
36}
37impl AlterUserScramCredentialsResponse<'_> {
38 #[must_use]
39 pub fn to_owned(
40 &self,
41 ) -> alter_user_scram_credentials_response::AlterUserScramCredentialsResponse {
42 alter_user_scram_credentials_response::AlterUserScramCredentialsResponse {
43 throttle_time_ms: (self.throttle_time_ms),
44 results: (self.results)
45 .iter()
46 .map(AlterUserScramCredentialsResult::to_owned)
47 .collect(),
48 unknown_tagged_fields: self.unknown_tagged_fields.clone(),
49 }
50 }
51}
52impl Encode for AlterUserScramCredentialsResponse<'_> {
53 fn encode<B: BufMut>(&self, buf: &mut B, version: i16) -> Result<(), ProtocolError> {
54 if !(MIN_VERSION..=MAX_VERSION).contains(&version) {
55 return Err(ProtocolError::UnsupportedVersion {
56 api_key: API_KEY,
57 version,
58 });
59 }
60 let flex = is_flexible(version);
61 if version >= 0 {
62 put_i32(buf, self.throttle_time_ms);
63 }
64 if version >= 0 {
65 {
66 put_array_len(buf, (self.results).len(), flex)?;
67 for it in &self.results {
68 it.encode(buf, version)?;
69 }
70 }
71 }
72 if flex {
73 let tagged = WriteTaggedFields::new();
74 tagged.write(buf, &self.unknown_tagged_fields)?;
75 }
76 Ok(())
77 }
78 fn encoded_len(&self, version: i16) -> usize {
79 let flex = is_flexible(version);
80 let mut n: usize = 0;
81 if version >= 0 {
82 n += 4;
83 }
84 if version >= 0 {
85 n += {
86 let prefix = array_len_prefix_len((self.results).len(), flex);
87 let body: usize = (self.results)
88 .iter()
89 .map(|it| it.encoded_len(version))
90 .sum();
91 prefix + body
92 };
93 }
94 if flex {
95 let known_pairs: Vec<(u32, usize)> = Vec::new();
96 n += tagged_fields_len(&known_pairs, &self.unknown_tagged_fields);
97 }
98 n
99 }
100}
101impl<'de> DecodeBorrow<'de> for AlterUserScramCredentialsResponse<'de> {
102 fn decode_borrow(buf: &mut &'de [u8], version: i16) -> Result<Self, ProtocolError> {
103 if !(MIN_VERSION..=MAX_VERSION).contains(&version) {
104 return Err(ProtocolError::UnsupportedVersion {
105 api_key: API_KEY,
106 version,
107 });
108 }
109 let flex = is_flexible(version);
110 let mut out = Self::default();
111 if version >= 0 {
112 out.throttle_time_ms = get_i32(buf)?;
113 }
114 if version >= 0 {
115 out.results = {
116 let n = get_array_len(buf, flex)?;
117 let mut v = Vec::with_capacity(n);
118 for _ in 0..n {
119 v.push(AlterUserScramCredentialsResult::decode_borrow(
120 buf, version,
121 )?);
122 }
123 v
124 };
125 }
126 if flex {
127 out.unknown_tagged_fields = read_tagged_fields(buf, |_tag, _payload| Ok(false))?;
128 }
129 Ok(out)
130 }
131}
132#[cfg(test)]
133impl AlterUserScramCredentialsResponse<'_> {
134 #[must_use]
135 pub fn populated(version: i16) -> Self {
136 let mut m = Self::default();
137 if version >= 0 {
138 m.throttle_time_ms = 1i32;
139 }
140 if version >= 0 {
141 m.results = vec![AlterUserScramCredentialsResult::populated(version)];
142 }
143 m
144 }
145}
146#[derive(Debug, Clone, PartialEq, Eq)]
147pub struct AlterUserScramCredentialsResult<'a> {
148 pub user: &'a str,
149 pub error_code: i16,
150 pub error_message: Option<&'a str>,
151 pub unknown_tagged_fields: UnknownTaggedFields,
152}
153impl Default for AlterUserScramCredentialsResult<'_> {
154 fn default() -> Self {
155 Self {
156 user: "",
157 error_code: 0i16,
158 error_message: Some(""),
159 unknown_tagged_fields: UnknownTaggedFields::default(),
160 }
161 }
162}
163impl AlterUserScramCredentialsResult<'_> {
164 #[must_use]
165 pub fn to_owned(
166 &self,
167 ) -> alter_user_scram_credentials_response::AlterUserScramCredentialsResult {
168 alter_user_scram_credentials_response::AlterUserScramCredentialsResult {
169 user: (self.user).to_owned(),
170 error_code: (self.error_code),
171 error_message: (self.error_message).map(str::to_owned),
172 unknown_tagged_fields: self.unknown_tagged_fields.clone(),
173 }
174 }
175}
176impl Encode for AlterUserScramCredentialsResult<'_> {
177 fn encode<B: BufMut>(&self, buf: &mut B, version: i16) -> Result<(), ProtocolError> {
178 let flex = version >= 0;
179 if version >= 0 {
180 if flex {
181 put_compact_string(buf, self.user)?;
182 } else {
183 put_string(buf, self.user)?;
184 }
185 }
186 if version >= 0 {
187 put_i16(buf, self.error_code);
188 }
189 if version >= 0 {
190 if flex {
191 put_compact_nullable_string(buf, self.error_message)?;
192 } else {
193 put_nullable_string(buf, self.error_message)?;
194 }
195 }
196 if flex {
197 let tagged = WriteTaggedFields::new();
198 tagged.write(buf, &self.unknown_tagged_fields)?;
199 }
200 Ok(())
201 }
202 fn encoded_len(&self, version: i16) -> usize {
203 let flex = version >= 0;
204 let mut n: usize = 0;
205 if version >= 0 {
206 n += if flex {
207 compact_string_len(self.user)
208 } else {
209 string_len(self.user)
210 };
211 }
212 if version >= 0 {
213 n += 2;
214 }
215 if version >= 0 {
216 n += if flex {
217 compact_nullable_string_len(self.error_message)
218 } else {
219 nullable_string_len(self.error_message)
220 };
221 }
222 if flex {
223 let known_pairs: Vec<(u32, usize)> = Vec::new();
224 n += tagged_fields_len(&known_pairs, &self.unknown_tagged_fields);
225 }
226 n
227 }
228}
229impl<'de> DecodeBorrow<'de> for AlterUserScramCredentialsResult<'de> {
230 fn decode_borrow(buf: &mut &'de [u8], version: i16) -> Result<Self, ProtocolError> {
231 let flex = version >= 0;
232 let mut out = Self::default();
233 if version >= 0 {
234 out.user = if flex {
235 get_compact_string_borrowed(buf)?
236 } else {
237 get_string_borrowed(buf)?
238 };
239 }
240 if version >= 0 {
241 out.error_code = get_i16(buf)?;
242 }
243 if version >= 0 {
244 out.error_message = if flex {
245 get_compact_nullable_string_borrowed(buf)?
246 } else {
247 get_nullable_string_borrowed(buf)?
248 };
249 }
250 if flex {
251 out.unknown_tagged_fields = read_tagged_fields(buf, |_tag, _payload| Ok(false))?;
252 }
253 Ok(out)
254 }
255}
256#[cfg(test)]
257impl AlterUserScramCredentialsResult<'_> {
258 #[must_use]
259 pub fn populated(version: i16) -> Self {
260 let mut m = Self::default();
261 if version >= 0 {
262 m.user = "x";
263 }
264 if version >= 0 {
265 m.error_code = 1i16;
266 }
267 if version >= 0 {
268 m.error_message = Some("x");
269 }
270 m
271 }
272}