Simplyfy
This commit is contained in:
parent
a25a66e008
commit
bcc51d3f0e
1 changed files with 3 additions and 9 deletions
|
|
@ -1,5 +1,4 @@
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::sync::Mutex;
|
|
||||||
use std::{io, net::SocketAddr, str, sync::Arc};
|
use std::{io, net::SocketAddr, str, sync::Arc};
|
||||||
use tokio::{net::UdpSocket, sync::mpsc};
|
use tokio::{net::UdpSocket, sync::mpsc};
|
||||||
use tracing::info;
|
use tracing::info;
|
||||||
|
|
@ -14,7 +13,7 @@ async fn main() -> io::Result<()> {
|
||||||
let r = Arc::new(sock);
|
let r = Arc::new(sock);
|
||||||
let s = r.clone();
|
let s = r.clone();
|
||||||
let (tx, mut rx) = mpsc::channel::<(Vec<u8>, SocketAddr)>(1_000);
|
let (tx, mut rx) = mpsc::channel::<(Vec<u8>, SocketAddr)>(1_000);
|
||||||
let storage = Arc::new(Mutex::new(HashMap::<String, String>::new()));
|
let mut storage = HashMap::<String, String>::new();
|
||||||
|
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
info!("Send back!");
|
info!("Send back!");
|
||||||
|
|
@ -33,16 +32,11 @@ async fn main() -> io::Result<()> {
|
||||||
let message = format!("version=gruberb 1.0");
|
let message = format!("version=gruberb 1.0");
|
||||||
tx.send((message.as_bytes().to_vec(), addr)).await.unwrap();
|
tx.send((message.as_bytes().to_vec(), addr)).await.unwrap();
|
||||||
} else if message.contains("=") {
|
} else if message.contains("=") {
|
||||||
let (mut key, value) = message.split_once('=').unwrap();
|
let (key, value) = message.split_once('=').unwrap();
|
||||||
if key.is_empty() {
|
|
||||||
key = " ";
|
|
||||||
}
|
|
||||||
storage
|
storage
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.insert(key.to_string(), value.to_string());
|
.insert(key.to_string(), value.to_string());
|
||||||
} else {
|
} else {
|
||||||
let value = storage.lock().unwrap().get(message).unwrap_or(&String::new()).clone();
|
let value = storage.get(message).unwrap_or(&String::new()).clone();
|
||||||
let message = format!("{message}={value}");
|
let message = format!("{message}={value}");
|
||||||
tx.send((message.as_bytes().to_vec(), addr)).await.unwrap();
|
tx.send((message.as_bytes().to_vec(), addr)).await.unwrap();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue