Skip to content

Commit f5ef527

Browse files
committed
feat: v1.0.4
1 parent a709374 commit f5ef527

File tree

7 files changed

+35
-43
lines changed

7 files changed

+35
-43
lines changed

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "udp"
3-
version = "1.0.3"
3+
version = "1.0.4"
44
edition = "2024"
55
authors = ["root@ltpp.vip"]
66
license = "MIT"
@@ -18,7 +18,6 @@ exclude = [
1818
]
1919

2020
[dependencies]
21-
lombok-macros = "1.12.0"
2221
tokio = { version = "1.45.1", features = ["full"] }
2322

2423
[profile.dev]

src/config/struct.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use crate::*;
22

3-
#[derive(Clone, Data)]
3+
#[derive(Clone)]
44
pub struct ServerConfig {
5-
pub(super) host: String,
6-
pub(super) port: usize,
7-
pub(super) buffer_size: usize,
8-
pub(super) error_handle: ArcErrorHandle,
5+
pub(crate) host: String,
6+
pub(crate) port: usize,
7+
pub(crate) buffer_size: usize,
8+
pub(crate) error_handle: ArcErrorHandle,
99
}

src/context/impl.rs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,19 @@ impl Context {
3030
}
3131

3232
pub async fn get_request(&self) -> Request {
33-
self.get().await.get_request().clone()
33+
self.get().await.request.clone()
3434
}
3535

3636
pub async fn get_response(&self) -> Response {
37-
self.get().await.get_response().clone()
37+
self.get().await.response.clone()
3838
}
3939

4040
pub async fn get_socket(&self) -> OptionArcRwLockUdpSocket {
41-
self.get().await.get_socket().clone()
41+
self.get().await.socket.clone()
4242
}
4343

4444
pub async fn get_socket_addr(&self) -> OptionSocketAddr {
45-
self.get().await.get_socket_addr().clone()
45+
self.get().await.socket_addr.clone()
4646
}
4747

4848
pub async fn get_socket_addr_or_default(&self) -> SocketAddr {
@@ -80,9 +80,7 @@ impl Context {
8080
}
8181

8282
pub(super) async fn set_response<T: Into<ResponseData>>(&self, data: T) -> &Self {
83-
self.get_write_lock()
84-
.await
85-
.set_response(Response::from(data));
83+
self.get_write_lock().await.response = Response::from(data);
8684
self
8785
}
8886

@@ -104,27 +102,27 @@ impl Context {
104102
) -> &Self {
105103
self.get_write_lock()
106104
.await
107-
.get_mut_data()
105+
.data
108106
.insert(key.to_owned(), Arc::new(value.clone()));
109107
self
110108
}
111109

112110
pub async fn get_data_value<T: Any + Send + Sync + Clone>(&self, key: &str) -> Option<T> {
113111
self.get_read_lock()
114112
.await
115-
.get_data()
113+
.data
116114
.get(key)
117115
.and_then(|arc| arc.downcast_ref::<T>())
118116
.cloned()
119117
}
120118

121119
pub async fn remove_data_value(&self, key: &str) -> &Self {
122-
self.get_write_lock().await.get_mut_data().remove(key);
120+
self.get_write_lock().await.data.remove(key);
123121
self
124122
}
125123

126124
pub async fn clear_data(&self) -> &Self {
127-
self.get_write_lock().await.get_mut_data().clear();
125+
self.get_write_lock().await.data.clear();
128126
self
129127
}
130128
}

src/context/struct.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
use crate::*;
22

3-
#[derive(Clone, Data)]
3+
#[derive(Clone)]
44
pub struct InnerContext {
5-
pub(super) socket: OptionArcRwLockUdpSocket,
6-
pub(super) request: Request,
7-
pub(super) response: Response,
8-
pub(super) socket_addr: OptionSocketAddr,
9-
pub(super) data: HashMapArcAnySendSync,
5+
pub(crate) socket: OptionArcRwLockUdpSocket,
6+
pub(crate) request: Request,
7+
pub(crate) response: Response,
8+
pub(crate) socket_addr: OptionSocketAddr,
9+
pub(crate) data: HashMapArcAnySendSync,
1010
}
1111

1212
#[derive(Clone)]

src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ pub use tokio;
2121

2222
pub(crate) use common::*;
2323
pub(crate) use handler::*;
24-
pub(crate) use lombok_macros::*;
2524

2625
pub(crate) use std::{
2726
any::Any,

src/server/impl.rs

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,25 @@ impl Server {
1818
where
1919
T: Into<String>,
2020
{
21-
self.get_config().write().await.set_host(host.into());
21+
self.config.write().await.host = host.into();
2222
self
2323
}
2424

2525
pub async fn port(&mut self, port: usize) -> &mut Self {
26-
self.get_config().write().await.set_port(port);
26+
self.config.write().await.port = port;
2727
self
2828
}
2929

3030
pub async fn buffer(&mut self, buffer_size: usize) -> &mut Self {
31-
self.get_config().write().await.set_buffer_size(buffer_size);
31+
self.config.write().await.buffer_size = buffer_size;
3232
self
3333
}
3434

3535
pub async fn error_handle<F>(&self, func: F) -> &Self
3636
where
3737
F: ErrorHandle + Send + Sync + 'static,
3838
{
39-
self.get_config()
40-
.write()
41-
.await
42-
.set_error_handle(Arc::new(func));
39+
self.config.write().await.error_handle = Arc::new(func);
4340
self
4441
}
4542

@@ -57,28 +54,28 @@ impl Server {
5754

5855
pub async fn run(&mut self) {
5956
self.init().await;
60-
let config: ServerConfig = self.get_config().read().await.clone();
61-
let host: String = config.get_host().to_owned();
62-
let port: usize = *config.get_port();
57+
let config: ServerConfig = self.config.read().await.clone();
58+
let host: String = config.host.clone();
59+
let port: usize = config.port;
6360
let addr: String = format!("{}{}{}", host, COLON_SPACE_SYMBOL, port);
6461
let socket: UdpSocket = UdpSocket::bind(&addr)
6562
.await
6663
.map_err(|e| ServerError::TcpBindError(e.to_string()))
6764
.unwrap();
6865
let socket_arc_lock: ArcRwLockUdpSocket = ArcRwLockUdpSocket::from_socket(socket);
6966
loop {
70-
let mut buf: Vec<u8> = vec![0u8; *config.get_buffer_size()];
67+
let mut buf: Vec<u8> = vec![0u8; config.buffer_size];
7168
let socket_arc_lock: ArcRwLockUdpSocket = socket_arc_lock.clone();
7269
let socket_lock: RwLockReadGuardUdpSocket = socket_arc_lock.get_read_lock().await;
7370
let (data_len, client_addr) = socket_lock.recv_from(&mut buf).await.unwrap();
74-
let func_list_arc_lock: ArcRwLockVecFuncBox = Arc::clone(self.get_func_list());
71+
let func_list_arc_lock: ArcRwLockVecFuncBox = Arc::clone(&self.func_list);
7572
let socket_clone: ArcRwLockUdpSocket = socket_arc_lock.clone();
7673
let handle_request = move || async move {
7774
let request: Vec<u8> = buf[..data_len].to_vec();
7875
let mut ctx: InnerContext = InnerContext::new();
79-
ctx.set_socket(Some(socket_clone))
80-
.set_socket_addr(Some(client_addr))
81-
.set_request(request);
76+
ctx.socket = Some(socket_clone);
77+
ctx.socket_addr = Some(client_addr);
78+
ctx.request = request;
8279
let ctx: Context = Context::from_inner_context(ctx);
8380
for func in func_list_arc_lock.read().await.iter() {
8481
func(ctx.clone()).await;
@@ -89,8 +86,7 @@ impl Server {
8986
}
9087

9188
async fn init_panic_hook(&self) {
92-
let error_handle: ArcErrorHandle =
93-
self.get_config().read().await.get_error_handle().clone();
89+
let error_handle: ArcErrorHandle = self.config.read().await.error_handle.clone();
9490
set_hook(Box::new(move |err| {
9591
let data: String = err.to_string();
9692
error_handle(data);

src/server/struct.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::*;
22

3-
#[derive(Clone, Data)]
3+
#[derive(Clone)]
44
pub struct Server {
55
pub(super) config: ArcRwLockServerConfig,
66
pub(super) func_list: ArcRwLockVecFuncBox,

0 commit comments

Comments
 (0)