zerust/
request.rs

1//! # 请求封装模块
2//!
3//! 该模块定义了客户端请求的数据结构和相关方法,用于在服务器端表示和处理客户端发送的请求。
4//! 请求包含消息ID和消息数据两部分,消息ID用于路由到对应的处理函数。
5
6/// 表示客户端发送的请求
7///
8/// 请求包含两个主要部分:
9/// * `msg_id` - 消息ID,用于标识请求类型并路由到对应的处理函数
10/// * `data` - 请求携带的数据,以字节数组形式存储
11///
12/// 实现了 `Debug` trait,方便调试和日志记录。
13#[derive(Debug)]
14pub struct Request {
15    /// 消息ID,用于标识请求类型
16    msg_id: u32,
17    /// 请求携带的数据
18    data: Vec<u8>,
19}
20
21impl Request {
22    /// 创建一个新的请求实例
23    ///
24    /// # 参数
25    /// * `msg_id` - 消息ID,用于标识请求类型
26    /// * `data` - 请求携带的数据
27    ///
28    /// # 返回值
29    /// 返回一个新的 `Request` 实例
30    pub fn new(msg_id: u32, data: Vec<u8>) -> Self {
31        Self { msg_id, data }
32    }
33
34    /// 获取请求的消息ID
35    ///
36    /// # 返回值
37    /// 返回请求的消息ID
38    pub fn msg_id(&self) -> u32 {
39        self.msg_id
40    }
41
42    /// 获取请求携带的数据
43    ///
44    /// # 返回值
45    /// 返回请求携带的数据的引用
46    pub fn data(&self) -> &[u8] {
47        &self.data
48    }
49}