added some asyncs
This commit is contained in:
@@ -4,3 +4,5 @@ version = "0.1.0"
|
|||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
async-std = "1.13.0"
|
||||||
|
tokio = { version = "1.43.0", features = ["rt", "rt-multi-thread", "macros"] }
|
||||||
|
@@ -1,9 +1,11 @@
|
|||||||
use std::env;
|
use std::{env, io};
|
||||||
use std::io::Read;
|
use std::io::Read;
|
||||||
use std::os::unix::net::UnixStream;
|
use async_std::os::unix::net::UnixStream;
|
||||||
|
use async_std::prelude::*;
|
||||||
|
use async_std::task::spawn;
|
||||||
|
|
||||||
fn create_socket(socket_path : String) -> UnixStream {
|
async fn create_socket(socket_path : String) -> UnixStream {
|
||||||
return match UnixStream::connect(socket_path){
|
return match UnixStream::connect(socket_path).await{
|
||||||
Ok(socket) => {
|
Ok(socket) => {
|
||||||
println!("Connected to socket: {:?}", socket.peer_addr());
|
println!("Connected to socket: {:?}", socket.peer_addr());
|
||||||
socket
|
socket
|
||||||
@@ -11,7 +13,13 @@ fn create_socket(socket_path : String) -> UnixStream {
|
|||||||
Err(error) => panic!("Could not connect to socket: {}", error),
|
Err(error) => panic!("Could not connect to socket: {}", error),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
fn main() {
|
|
||||||
|
async fn handle_line_socket2(line : String){
|
||||||
|
println!("{}", line);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[tokio::main]
|
||||||
|
async fn main() {
|
||||||
let env_var_xdg_runtime_dir = "XDG_RUNTIME_DIR";
|
let env_var_xdg_runtime_dir = "XDG_RUNTIME_DIR";
|
||||||
let env_var_hyprland_instance_signature = "HYPRLAND_INSTANCE_SIGNATURE";
|
let env_var_hyprland_instance_signature = "HYPRLAND_INSTANCE_SIGNATURE";
|
||||||
let mut hypr_rundir_path: String = match env::var(env_var_xdg_runtime_dir){
|
let mut hypr_rundir_path: String = match env::var(env_var_xdg_runtime_dir){
|
||||||
@@ -28,6 +36,15 @@ fn main() {
|
|||||||
let socket2_path = format!("{}/.socket2.sock", hypr_rundir_path);
|
let socket2_path = format!("{}/.socket2.sock", hypr_rundir_path);
|
||||||
println!("Using socket1 path: {}", socket1_path);
|
println!("Using socket1 path: {}", socket1_path);
|
||||||
println!("Using socket2 path: {}", socket2_path);
|
println!("Using socket2 path: {}", socket2_path);
|
||||||
let mut socket1 = create_socket(socket1_path);
|
let mut socket1 = create_socket(socket1_path).await;
|
||||||
let mut socket2= create_socket(socket2_path);
|
let mut socket2= create_socket(socket2_path);
|
||||||
|
let mut buffer = String::new();
|
||||||
|
//TODO: Read from UnixSocket instead from stdin
|
||||||
|
loop{
|
||||||
|
io::stdin().read_line(&mut buffer).expect("Could not read line from standard input");
|
||||||
|
println!("{} bytes read", buffer.len());
|
||||||
|
let line = buffer.trim();
|
||||||
|
spawn(handle_line_socket2(line.to_string()));
|
||||||
|
buffer.clear();
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user