use crate::protocol::{serde::*, ProtocolError};
use super::CommandReply;
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct SetClientNameReply {
pub client_id: u32,
}
impl CommandReply for SetClientNameReply {}
impl TagStructRead for SetClientNameReply {
fn read(ts: &mut TagStructReader<'_>, _protocol_version: u16) -> Result<Self, ProtocolError> {
let client_id = ts.read_u32()?;
Ok(Self { client_id })
}
}
impl TagStructWrite for SetClientNameReply {
fn write(
&self,
w: &mut TagStructWriter<'_>,
_protocol_version: u16,
) -> Result<(), ProtocolError> {
w.write_u32(self.client_id)?;
Ok(())
}
}
#[cfg(test)]
mod tests {
use super::*;
use crate::protocol::test_util::test_serde;
#[test]
fn test_set_client_name_reply_serde() -> anyhow::Result<()> {
let reply = SetClientNameReply { client_id: 0 };
test_serde(&reply)
}
}