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