feat: added the ability to send commands

This commit is contained in:
Andrew Rioux
2023-09-05 19:05:26 -04:00
parent 47b2191335
commit 52538ac7d7
5 changed files with 188 additions and 23 deletions

View File

@@ -10,7 +10,7 @@ pub mod messages {
use serde::{Deserialize, Serialize};
use serde_repr::{Deserialize_repr, Serialize_repr};
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
pub enum Command {
RunCommand(String),
SendStdin(Vec<u8>, u64),
@@ -32,7 +32,7 @@ pub mod messages {
Disconnect,
}
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
pub enum FileType {
File,
Dir,
@@ -43,7 +43,7 @@ pub mod messages {
Char,
}
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
pub struct UnixMetadata {
pub mode: u32,
pub uid: u32,
@@ -52,19 +52,19 @@ pub mod messages {
pub mtime: i64,
}
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
pub struct DirEntry {
pub name: OsString,
pub size: u64,
pub unix: Option<UnixMetadata>,
}
#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug)]
pub enum Response {
AckRunCommand(u64),
SendStderr(Vec<u8>, u64, u64),
SendStdout(Vec<u8>, u64, u64),
CommandDone(u64, u32),
SendStderr(Vec<u8>, u64),
SendStdout(Vec<u8>, u64),
CommandDone(u64, i32),
CdDone,
LsResults(Vec<DirEntry>),