kacrab_protocol/generated/
describe_cluster_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 DescribeClusterRequestData {
17 pub include_cluster_authorized_operations: bool,
19 pub endpoint_type: i8,
21 pub include_fenced_brokers: bool,
23 pub _unknown_tagged_fields: Vec<RawTaggedField>,
24}
25impl Default for DescribeClusterRequestData {
26 fn default() -> Self {
27 Self {
28 include_cluster_authorized_operations: false,
29 endpoint_type: 1i8,
30 include_fenced_brokers: false,
31 _unknown_tagged_fields: Vec::new(),
32 }
33 }
34}
35impl DescribeClusterRequestData {
36 pub fn with_include_cluster_authorized_operations(mut self, value: bool) -> Self {
37 self.include_cluster_authorized_operations = value;
38 self
39 }
40 pub fn with_endpoint_type(mut self, value: i8) -> Self {
41 self.endpoint_type = value;
42 self
43 }
44 pub fn with_include_fenced_brokers(mut self, value: bool) -> Self {
45 self.include_fenced_brokers = value;
46 self
47 }
48 pub fn read(buf: &mut Bytes, version: i16) -> Result<Self> {
49 if version < 0 || version > 2 {
50 return Err(UnsupportedVersion::new(60, version).into());
51 }
52 let include_cluster_authorized_operations;
53 let mut endpoint_type = 1i8;
54 let mut include_fenced_brokers = false;
55 let mut _unknown_tagged_fields: Vec<RawTaggedField> = Vec::new();
56 include_cluster_authorized_operations = read_bool(buf)?;
57 if version >= 1 {
58 endpoint_type = read_i8(buf)?;
59 }
60 if version >= 2 {
61 include_fenced_brokers = read_bool(buf)?;
62 }
63 let tagged_fields = read_tagged_fields(buf)?;
64 for field in &tagged_fields {
65 match field.tag {
66 _ => {
67 _unknown_tagged_fields.push(field.clone());
68 },
69 }
70 }
71 Ok(Self {
72 include_cluster_authorized_operations,
73 endpoint_type,
74 include_fenced_brokers,
75 _unknown_tagged_fields,
76 })
77 }
78 pub fn write(&self, buf: &mut BytesMut, version: i16) -> Result<()> {
79 if version < 0 || version > 2 {
80 return Err(UnsupportedVersion::new(60, version).into());
81 }
82 write_bool(buf, self.include_cluster_authorized_operations);
83 if version >= 1 {
84 write_i8(buf, self.endpoint_type);
85 } else if self.endpoint_type != 1i8 {
86 return Err(UnsupportedFieldVersion::new(60, "endpoint_type", version).into());
87 }
88 if version >= 2 {
89 write_bool(buf, self.include_fenced_brokers);
90 } else if self.include_fenced_brokers != false {
91 return Err(UnsupportedFieldVersion::new(60, "include_fenced_brokers", version).into());
92 }
93 let mut all_tags: Vec<RawTaggedField> = self._unknown_tagged_fields.clone();
94 all_tags.sort_by_key(|f| f.tag);
95 write_tagged_fields(buf, &all_tags)?;
96 Ok(())
97 }
98 pub fn encoded_len(&self, version: i16) -> Result<usize> {
99 if version < 0 || version > 2 {
100 return Err(UnsupportedVersion::new(60, version).into());
101 }
102 let mut len: usize = 0;
103 len += 1;
104 if version >= 1 {
105 len += 1;
106 } else if self.endpoint_type != 1i8 {
107 return Err(UnsupportedFieldVersion::new(60, "endpoint_type", version).into());
108 }
109 if version >= 2 {
110 len += 1;
111 } else if self.include_fenced_brokers != false {
112 return Err(UnsupportedFieldVersion::new(60, "include_fenced_brokers", version).into());
113 }
114 let mut all_tags: Vec<RawTaggedField> = self._unknown_tagged_fields.clone();
115 all_tags.sort_by_key(|f| f.tag);
116 len += tagged_fields_len(&all_tags)?;
117 Ok(len)
118 }
119}