Feature/client encryption #18
|
|
@ -5,7 +5,7 @@ use uuid::Uuid;
|
|||
use futures::lock::Mutex;
|
||||
use tokio::sync::mpsc::{Sender, Receiver, channel};
|
||||
|
||||
use crate::network::SocketSender;
|
||||
use crate::network::SocketHandler;
|
||||
use crate::messages::ClientMessage;
|
||||
use crate::messages::ServerMessage;
|
||||
use crate::prelude::StreamMessageSender;
|
||||
|
|
@ -34,7 +34,7 @@ pub struct Client {
|
|||
tx: Sender<ClientMessage>,
|
||||
rx: Mutex<Receiver<ClientMessage>>,
|
||||
|
||||
socket_sender: Arc<SocketSender>,
|
||||
socket_sender: Arc<SocketHandler>,
|
||||
}
|
||||
|
||||
// client funciton implmentations
|
||||
|
|
@ -43,7 +43,7 @@ impl Client {
|
|||
uuid: String,
|
||||
username: String,
|
||||
address: String,
|
||||
socket_sender: Arc<SocketSender>,
|
||||
socket_sender: Arc<SocketHandler>,
|
||||
server_channel: Sender<ServerMessage>,
|
||||
) -> Arc<Client> {
|
||||
let (sender, receiver) = channel(1024);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ use crate::prelude::StreamMessageSender;
|
|||
|
||||
type TransformerVec = Vec<fn(&[u8]) -> &[u8]>;
|
||||
|
||||
pub struct SocketSender {
|
||||
pub struct SocketHandler {
|
||||
stream_tx: Mutex<WriteHalf<tokio::net::TcpStream>>,
|
||||
stream_rx: Mutex<BufReader<ReadHalf<tokio::net::TcpStream>>>,
|
||||
|
||||
|
|
@ -27,12 +27,12 @@ pub struct SocketSender {
|
|||
recv_transformer: Mutex<TransformerVec>,
|
||||
}
|
||||
|
||||
impl SocketSender {
|
||||
impl SocketHandler {
|
||||
pub fn new(connection: TcpStream) -> Arc<Self> {
|
||||
let (rd, wd) = split(connection);
|
||||
let reader = BufReader::new(rd);
|
||||
|
||||
Arc::new(SocketSender {
|
||||
Arc::new(SocketHandler {
|
||||
stream_tx: Mutex::new(wd),
|
||||
stream_rx: Mutex::new(reader),
|
||||
|
||||
|
|
@ -67,7 +67,7 @@ impl SocketSender {
|
|||
}
|
||||
|
||||
#[async_trait]
|
||||
impl StreamMessageSender for SocketSender {
|
||||
impl StreamMessageSender for SocketHandler {
|
||||
async fn send<TOutMessage: Serialize + Send>
|
||||
(self: &Arc<Self>, message: TOutMessage) -> Result<(), Error>
|
||||
{
|
||||
|
|
@ -93,7 +93,7 @@ impl StreamMessageSender for SocketSender {
|
|||
}
|
||||
}
|
||||
|
||||
impl Debug for SocketSender {
|
||||
impl Debug for SocketHandler {
|
||||
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>)
|
||||
-> std::result::Result<(), std::fmt::Error> {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ use tokio::net::TcpListener;
|
|||
use tokio::sync::mpsc::Sender;
|
||||
|
||||
use crate::client::Client;
|
||||
use crate::network::SocketSender;
|
||||
use crate::network::SocketHandler;
|
||||
use crate::messages::ServerMessage;
|
||||
use crate::prelude::StreamMessageSender;
|
||||
use foundation::messages::network::{NetworkSockIn, NetworkSockOut};
|
||||
|
|
@ -31,7 +31,7 @@ impl NetworkManager {
|
|||
|
||||
loop {
|
||||
let (connection, _) = listener.accept().await.unwrap();
|
||||
let stream_sender = SocketSender::new(connection);
|
||||
let stream_sender = SocketHandler::new(connection);
|
||||
let server_channel = network_manager.server_channel.clone();
|
||||
|
||||
tokio::spawn(async move {
|
||||
|
|
|
|||
Loading…
Reference in New Issue