Breaking websocket functionality out into its own module

This commit is contained in:
Dave Hrycyszyn
2024-05-29 16:35:00 +01:00
parent 8e290f8bef
commit dcb14801da
3 changed files with 30 additions and 31 deletions

View File

@@ -1,20 +1,9 @@
use clap::{arg, Parser, Subcommand}; use clap::Parser;
use clap::Subcommand;
pub(crate) fn parse_args() -> Args { pub(crate) fn parse_args() -> Args {
let args = Args::parse(); let args = Args::parse();
match &args.command {
Some(Commands::Init { init }) => {
if *init {
println!("Initializing Side Node")
}
}
Some(Commands::Run {}) => {
println!("Running side node")
}
None => todo!(),
}
args args
} }
@@ -23,16 +12,12 @@ pub(crate) fn parse_args() -> Args {
#[command(version, about, long_about = None)] #[command(version, about, long_about = None)]
pub(crate) struct Args { pub(crate) struct Args {
#[command(subcommand)] #[command(subcommand)]
command: Option<Commands>, pub(crate) command: Option<Commands>,
} }
#[derive(Subcommand)] #[derive(Subcommand)]
enum Commands { pub(crate) enum Commands {
/// runs the Side Node /// runs the Side Node
Run {}, Run {},
Init { Init {},
/// initializes a Side Node with a config file and keypair
#[arg(short, long)]
init: bool,
},
} }

View File

@@ -1,18 +1,19 @@
use cli::parse_args; use cli::{parse_args, Commands};
use websockets::{WebSocket, WebSocketError};
pub(crate) mod cli; pub(crate) mod cli;
pub(crate) mod websocket;
#[tokio::main] #[tokio::main]
async fn main() -> Result<(), WebSocketError> { async fn main() {
parse_args(); let args = parse_args();
let mut ws = WebSocket::connect("ws://localhost:8080/").await?;
ws.send_text("foo".to_string()).await?; match &args.command {
// ws.receive().await?; Some(Commands::Init {}) => {
// ws.close(None).await?; println!("Initializing Side Node")
loop { }
let msg = ws.receive().await?; Some(Commands::Run {}) => {
println!("Received: {:?}", msg); websocket::start().await.unwrap();
}
None => todo!(),
} }
} }

View File

@@ -0,0 +1,13 @@
use websockets::WebSocket;
pub(crate) async fn start() -> Result<(), websockets::WebSocketError> {
let mut ws = WebSocket::connect("ws://localhost:8080/").await?;
ws.send_text("foo".to_string()).await?;
// ws.receive().await?;
// ws.close(None).await?;
loop {
let msg = ws.receive().await?;
println!("Received: {:?}", msg);
}
}