kafka_wire_protocol/schema/renew_delegation_token_response/
v2.rs

1// This file was generated. Do not edit.
2
3use std::io::{Read, Result, Write};
4
5use serde::{Deserialize, Serialize};
6#[cfg(test)] use proptest_derive::Arbitrary;
7
8use crate::markers::{ApiMessage, Response};
9use crate::readable_writable::{Readable, Writable};
10use crate::tagged_fields::{RawTaggedField, read_tagged_fields, write_tagged_fields};
11#[cfg(test)] use crate::test_utils::proptest_strategies;
12
13/// RenewDelegationTokenResponse, version 2.
14#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
15#[cfg_attr(test, derive(Arbitrary))]
16pub struct RenewDelegationTokenResponse {
17    /// The error code, or 0 if there was no error.
18    pub error_code: i16,
19    /// The timestamp in milliseconds at which this token expires.
20    pub expiry_timestamp_ms: i64,
21    /// The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota.
22    pub throttle_time_ms: i32,
23    /// Unknown tagged fields.
24    #[cfg_attr(test, proptest(strategy = "proptest_strategies::unknown_tagged_fields()"))]
25    pub _unknown_tagged_fields: Vec<RawTaggedField>,
26}
27
28impl ApiMessage for RenewDelegationTokenResponse {
29    fn api_key(&self) -> i16 {
30        39
31    }
32    
33    fn version(&self) -> i16 {
34        2
35    }
36}
37
38impl Response for RenewDelegationTokenResponse { }
39
40impl Default for RenewDelegationTokenResponse {
41    fn default() -> Self {
42        RenewDelegationTokenResponse {
43            error_code: 0_i16,
44            expiry_timestamp_ms: 0_i64,
45            throttle_time_ms: 0_i32,
46            _unknown_tagged_fields: Vec::new(),
47        }
48    }
49}
50
51impl RenewDelegationTokenResponse {
52    pub fn new(error_code: i16, expiry_timestamp_ms: i64, throttle_time_ms: i32) -> Self {
53        Self {
54            error_code,
55            expiry_timestamp_ms,
56            throttle_time_ms,
57            _unknown_tagged_fields: vec![],
58        }
59    }
60}
61
62#[cfg(test)]
63mod tests_renew_delegation_token_response_new_and_default {
64    use super::*;
65    
66    #[test]
67    fn test() {
68        let d = RenewDelegationTokenResponse::new(
69            0_i16,
70            0_i64,
71            0_i32,
72        );
73        assert_eq!(d, RenewDelegationTokenResponse::default());
74    }
75}
76
77impl Readable for RenewDelegationTokenResponse {
78    fn read(#[allow(unused)] input: &mut impl Read) -> Result<Self> {
79        let error_code = i16::read(input)?;
80        let expiry_timestamp_ms = i64::read(input)?;
81        let throttle_time_ms = i32::read(input)?;
82        let tagged_fields_callback = |tag: i32, _: &[u8]| {
83            match tag {
84                _ => Ok(false)
85            }
86        };
87        let _unknown_tagged_fields = read_tagged_fields(input, tagged_fields_callback)?;
88        Ok(RenewDelegationTokenResponse {
89            error_code, expiry_timestamp_ms, throttle_time_ms, _unknown_tagged_fields
90        })
91    }
92}
93
94impl Writable for RenewDelegationTokenResponse {
95    fn write(&self, #[allow(unused)] output: &mut impl Write) -> Result<()> {
96        self.error_code.write(output)?;
97        self.expiry_timestamp_ms.write(output)?;
98        self.throttle_time_ms.write(output)?;
99        write_tagged_fields(output, &[], &self._unknown_tagged_fields)?;
100        Ok(())
101    }
102}
103
104#[cfg(test)]
105mod tests {
106    use super::*;
107    use proptest::prelude::*;
108    
109    #[test]
110    fn test_java_default() {
111        crate::test_utils::test_java_default::<RenewDelegationTokenResponse>("RenewDelegationTokenResponse", 2);
112    }
113    
114    proptest! {
115        #[test]
116        fn test_serde(data: RenewDelegationTokenResponse) {
117            crate::test_utils::test_serde(&data)?;
118        }
119    }
120    
121    proptest! {
122        #[test]
123        fn test_java_arbitrary(data: RenewDelegationTokenResponse) {
124            crate::test_utils::test_java_arbitrary(&data, "RenewDelegationTokenResponse", 2);
125        }
126    }
127}