using shared lib for shared structs
This commit is contained in:
Generated
+3
@@ -682,6 +682,9 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "shared"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "signal-hook-registry"
|
||||
|
||||
+2
-16
@@ -3,22 +3,10 @@ use ringbuf::{
|
||||
HeapRb,
|
||||
traits::{Consumer, Observer, Producer, Split},
|
||||
};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use shared::{ConectionResponse, ResponseStatus};
|
||||
use std::sync::Arc;
|
||||
use tokio::net::{TcpStream, UdpSocket};
|
||||
|
||||
#[derive(Serialize, Deserialize, PartialEq)]
|
||||
enum ResponseStatus {
|
||||
Ok,
|
||||
Err,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct ConectionResponse {
|
||||
status: ResponseStatus,
|
||||
client_id: u32,
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let server_address = "127.0.0.1:8080";
|
||||
@@ -34,15 +22,13 @@ async fn main() {
|
||||
|
||||
match tcp_stream.try_read(&mut tcp_buf) {
|
||||
Ok(n) => {
|
||||
// let connection_response = str::from_utf8(&tcp_buf[0..n]).expect("failed to create str");
|
||||
|
||||
let connection_response: ConectionResponse =
|
||||
serde_json::from_slice(&tcp_buf[0..n]).unwrap();
|
||||
|
||||
session_client_id = connection_response.client_id;
|
||||
|
||||
println!(
|
||||
"tcp response status: {}, clientId: {}",
|
||||
"tcp response status Ok: {}, clientId: {}",
|
||||
connection_response.status == ResponseStatus::Ok,
|
||||
connection_response.client_id
|
||||
);
|
||||
|
||||
+1
-14
@@ -1,7 +1,6 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
use shared::{ConectionResponse, ResponseStatus};
|
||||
use std::sync::Arc;
|
||||
use std::{collections::HashMap, net::SocketAddr};
|
||||
|
||||
use tokio::io::AsyncWriteExt;
|
||||
use tokio::{
|
||||
net::{TcpListener, UdpSocket},
|
||||
@@ -15,18 +14,6 @@ struct Client {
|
||||
|
||||
type State = Arc<RwLock<HashMap<u32, Client>>>;
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
enum ResponseStatus {
|
||||
Ok,
|
||||
Err,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct ConectionResponse {
|
||||
status: ResponseStatus,
|
||||
client_id: u32,
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let listen_address = "0.0.0.0:8080";
|
||||
|
||||
@@ -4,3 +4,4 @@ version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1.0.229", features = ["derive"] }
|
||||
|
||||
+10
-11
@@ -1,14 +1,13 @@
|
||||
pub fn add(left: u64, right: u64) -> u64 {
|
||||
left + right
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Serialize, Deserialize, PartialEq)]
|
||||
pub enum ResponseStatus {
|
||||
Ok,
|
||||
Err,
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct ConectionResponse {
|
||||
pub status: ResponseStatus,
|
||||
pub client_id: u32,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user