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}