Skip to content
Merged
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
373 changes: 325 additions & 48 deletions Cargo.lock

Large diffs are not rendered by default.

40 changes: 20 additions & 20 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "websocketz"
version = "0.1.3"
version = "0.2.0"
edition = "2024"
rust-version = "1.85.1"
authors = ["Jad K. Haddad <jadkhaddad@gmail.com>"]
Expand All @@ -11,29 +11,29 @@ repository = "https://github.com/zealloc/websocketz"
keywords = ["no_std", "embedded", "websockets", "zerocopy"]

[dependencies]
framez = { version = "0.3.0", default-features = false }
embedded-io-async = { version = "0.6.1", default-features = false }
rand_core = { version = "0.9.3", default-features = false }
rand = { version = "0.9.1", default-features = false }
thiserror = { version = "2.0.12", default-features = false }
httparse = { version = "1.10.1", default-features = false }
base64 = { version = "0.22.1", default-features = false }
sha1 = { version = "0.10.6", default-features = false }
framez = { version = "0.4", default-features = false }
embedded-io-async = { version = "0.7", default-features = false }
rand_core = { version = "0.10", default-features = false }
rand = { version = "0.10", default-features = false }
thiserror = { version = "2", default-features = false }
httparse = { version = "1", default-features = false }
base64 = { version = "0.22", default-features = false }
sha1 = { version = "0.10", default-features = false }

[dev-dependencies]
rand = { version = "0.9.1", features = ["std_rng"] }
embedded-io-adapters = { version = "0.6.1", default-features = false, features = [
rand = { version = "0.10", features = ["std_rng"] }
embedded-io-adapters = { version = "0.7", default-features = false, features = [
"tokio-1",
] }
tokio = { version = "1.46.1", features = ["full"] }
futures-util = "0.3.31"
fastwebsockets = { version = "0.10.0", features = ["upgrade"] }
http = "1.3.1"
http-body-util = "0.1.3"
bytes = "1.10.1"
hyper = "1.6.0"
futures = "0.3.31"
hyper-util = "0.1.15"
tokio = { version = "1", features = ["full"] }
futures-util = "0.3"
fastwebsockets = { version = "0.10", features = ["upgrade"] }
http = "1"
http-body-util = "0.1"
bytes = "1"
hyper = "1"
futures = "0.3"
hyper-util = "0.1"

[profile.release]
opt-level = 3
Expand Down
5 changes: 4 additions & 1 deletion cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"nextest",
"nostartfiles",
"println",
"reborrow",
"reportfile",
"repr",
"rngs",
Expand All @@ -42,7 +43,9 @@
"WSSERVER",
"wstest",
"xtensa",
"zerocopy"
"zerocopy",
"nvim",
"MSVC"
],
"ignorePaths": [
"target",
Expand Down
7 changes: 5 additions & 2 deletions examples/autobahn-client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
//! ```

use embedded_io_adapters::tokio_1::FromTokio;
use rand::{SeedableRng, rngs::StdRng};
use rand::{
SeedableRng,
rngs::{StdRng, SysRng},
};
use tokio::net::TcpStream;
use websocketz::{
CloseCode, CloseFrame, Message, WebSocket, http::Header, next, options::ConnectOptions, send,
Expand All @@ -28,7 +31,7 @@ async fn connect<'buf>(
let websocketz = WebSocket::connect::<16>(
ConnectOptions::new_unchecked(path).with_headers(headers),
FromTokio::new(stream),
StdRng::from_os_rng(),
StdRng::try_from_rng(&mut SysRng).unwrap(),
read_buf,
write_buf,
fragments_buf,
Expand Down
7 changes: 5 additions & 2 deletions examples/autobahn-server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
//! ```

use embedded_io_adapters::tokio_1::FromTokio;
use rand::{SeedableRng, rngs::StdRng};
use rand::{
SeedableRng,
rngs::{StdRng, SysRng},
};
use tokio::net::TcpListener;
use websocketz::{Message, WebSocket, error::Error, next, options::AcceptOptions, send};

Expand All @@ -27,7 +30,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut websocketz = WebSocket::accept::<16>(
AcceptOptions::default(),
FromTokio::new(stream),
StdRng::from_os_rng(),
StdRng::try_from_rng(&mut SysRng).unwrap(),
&mut read_buf,
&mut write_buf,
&mut fragments_buf,
Expand Down
7 changes: 5 additions & 2 deletions examples/client-callback.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ use std::time::Duration;

use embedded_io_adapters::tokio_1::FromTokio;
use httparse::Header;
use rand::{SeedableRng, rngs::StdRng};
use rand::{
SeedableRng,
rngs::{StdRng, SysRng},
};
use tokio::net::TcpStream;
use websocketz::{Message, WebSocket, http::Response, next, options::ConnectOptions};

Expand All @@ -25,7 +28,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let read_buf = &mut [0u8; 8192];
let write_buf = &mut [0u8; 8192];
let fragments_buf = &mut [0u8; 8192];
let rng = StdRng::from_os_rng();
let rng = StdRng::try_from_rng(&mut SysRng).unwrap();

let (mut websocketz, custom) = WebSocket::connect_with(
ConnectOptions::default()
Expand Down
1 change: 1 addition & 0 deletions examples/esp32/.clippy.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
stack-size-threshold = 1024
11 changes: 10 additions & 1 deletion examples/esp32/.gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# Generated by Cargo
# will have compiled files and executables
debug/
target/

# Editor configuration
.vscode/
.zed/
.helix/
.nvim.lua

# These are backup files generated by rustfmt
**/*.rs.bk

Expand All @@ -15,3 +20,7 @@ target/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/


# Ignore .DS_Store file in mac
**/.DS_Store
Loading
Loading