Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ derive_more.workspace = true
serde_json.workspace = true
serde.workspace = true
tokio.workspace = true
tracing.workspace = true
uuid.workspace = true

bincode = "2.0.1"
Expand Down
1 change: 0 additions & 1 deletion core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,4 @@ pub mod error;
pub mod events;
pub mod messages;
mod prelude;
pub mod rand;
pub mod states;
17 changes: 7 additions & 10 deletions core/src/messages/request.rs
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use crate::{
messages::{
response,
traits::{Message, RequestBody},
},
rand,
use crate::messages::{
response,
traits::{Message, RequestBody},
};

// --------- serialized from the client --------- //

#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
pub struct CliRequestMessage<T: RequestBody> {
pub id: u32,
pub id: Uuid,
pub body: T,
}
impl<T: RequestBody + Serialize + for<'de> Deserialize<'de>> Message for CliRequestMessage<T> {}
Expand All @@ -22,7 +19,7 @@ impl<T: RequestBody + Serialize + for<'de> Deserialize<'de>> Message for CliRequ

#[derive(Serialize, Deserialize, Debug, PartialEq)]
pub struct DaemonRequestMessage {
pub id: u32,
pub id: Uuid,
pub body: DaemonRequestMessageBody,
}
#[derive(Serialize, Deserialize, Debug, PartialEq)]
Expand Down Expand Up @@ -51,14 +48,14 @@ pub type BodySet<T> = T;

#[derive(Debug)]
pub struct RequestBuilder<BodyState> {
id: u32,
id: Uuid,
body: BodyState,
}

impl Default for RequestBuilder<BodyUnset> {
fn default() -> Self {
Self {
id: rand::generate_id(),
id: Uuid::new_v4(),
body: BodyUnset,
}
}
Expand Down
9 changes: 5 additions & 4 deletions core/src/messages/response.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use crate::{messages::traits::Message, rand, states::DaemonState};
use crate::{messages::traits::Message, states::DaemonState};

#[derive(Clone, Serialize, Deserialize, Debug, PartialEq)]
pub struct ResponseMessage<T> {
pub id: u32,
pub id: Uuid,
pub result: ResponseResult<T>,
}
impl<T: Serialize + for<'de> Deserialize<'de>> Message for ResponseMessage<T> {}
Expand All @@ -29,14 +30,14 @@ pub struct ResultUnset;
pub type ResultSet<T> = ResponseResult<T>;

pub struct ResponseBuilder<ResultState> {
id: u32,
id: Uuid,
result: ResultState,
}

impl Default for ResponseBuilder<ResultUnset> {
fn default() -> Self {
Self {
id: rand::generate_id(),
id: Uuid::new_v4(),
result: ResultUnset,
}
}
Expand Down
2 changes: 2 additions & 0 deletions core/src/prelude.rs
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#![allow(unused)]
pub use tracing::{debug, error, info, trace, warn};

pub use crate::error::{Error, Result};
6 changes: 0 additions & 6 deletions core/src/rand.rs

This file was deleted.

5 changes: 4 additions & 1 deletion daemon/src/actors/client_connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,10 @@ impl ClientConnection {
comm::send_event(&mut self.stream, DaemonEvent::Disconnected).await.unwrap();
}
SessionOutput(bytes) => {
comm::send_event(&mut self.stream, DaemonEvent::Raw(bytes)).await.unwrap();
let chunk_size = 1024;
for chunk in bytes.chunks(chunk_size) {
comm::send_event(&mut self.stream, DaemonEvent::Raw(Bytes::copy_from_slice(chunk))).await.unwrap();
}
}
NewSession(session_id, session_name) => {
comm::send_event(&mut self.stream, DaemonEvent::NewSession(session_id, session_name)).await.unwrap();
Expand Down