This commit is contained in:
maxstrb 2025-11-06 17:30:45 +01:00
parent 27513863cf
commit 9b3151b55d
8 changed files with 2192 additions and 5 deletions

19
.direnv/bin/nix-direnv-reload Executable file
View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -e
if [[ ! -d "/mnt/removable/Projects/Rust/multiplayer-game" ]]; then
echo "Cannot find source directory; Did you move it?"
echo "(Looking for "/mnt/removable/Projects/Rust/multiplayer-game")"
echo 'Cannot force reload with this script - use "direnv reload" manually and then try again'
exit 1
fi
# rebuild the cache forcefully
_nix_direnv_force_reload=1 direnv exec "/mnt/removable/Projects/Rust/multiplayer-game" true
# Update the mtime for .envrc.
# This will cause direnv to reload again - but without re-building.
touch "/mnt/removable/Projects/Rust/multiplayer-game/.envrc"
# Also update the timestamp of whatever profile_rc we have.
# This makes sure that we know we are up to date.
touch -r "/mnt/removable/Projects/Rust/multiplayer-game/.envrc" "/mnt/removable/Projects/Rust/multiplayer-game/.direnv"/*.rc

View file

@ -0,0 +1 @@
/nix/store/9v6qa656sq3xc58vkxslqy646p0ajj61-source

View file

@ -0,0 +1 @@
/nix/store/a5v0hmb169aakliypcj7qhyq2grrliw7-source

View file

@ -0,0 +1 @@
/nix/store/l4vzqgc77gsph6x2gig9wr0rd292cf89-source

View file

@ -0,0 +1 @@
/nix/store/fx0gg8d8kpy3f98ar4k04623spprw59m-nix-shell-env

File diff suppressed because it is too large Load diff

1
.envrc Normal file
View file

@ -0,0 +1 @@
use flake

View file

@ -41,10 +41,11 @@ async fn handle_connection(
Ok(())
}
async fn handle_http_connection(
mut stream: TcpStream,
) -> tokio::io::Result<Option<(WebsocketRead, WebsocketWrite)>> {
let mut timeout = 500;
let timeout = 50;
loop {
let req = match time::timeout(
Duration::from_millis(timeout),
@ -62,10 +63,7 @@ async fn handle_http_connection(
}
};
println!("{req:?}");
let matchable = req.path.to_matchable();
let response = match matchable.as_slice() {
["public", file] => {
match Response::from_file(Path::new(format!("./public/{file}").as_str())) {
@ -91,9 +89,11 @@ async fn handle_http_connection(
};
response.respond(&mut stream).await?;
stream.flush().await?;
timeout = 5000;
if req.headers.contains(&request::RequestHeader::Connection(
request::Connection::Close,
)) || !req.headers.contains(&request::RequestHeader::Connection(
request::Connection::KeepAlive,
)) {
break;
}