97 Commits

Author SHA1 Message Date
th4s
a2f9897b19 refactor(futures-plex): ringbuffer and slice apis (#83)
* feat(futures-plex): replace BytesMut with fixed-size buffer and add zero-copy APIs

- Remove bytes crate dependency
- Use Box<[u8]> with ptr/len tracking instead of BytesMut
- Add AsyncBufRead implementation for SimplexStream
- Add poll_get, poll_mut, get, get_mut for direct buffer access
- Add advance, advance_mut for cursor management
- Add poll_read_to, poll_write_from for zero-copy transfers
- Add ReadGuard/WriteGuard and poll_lock methods for DuplexStream
- Add unit tests for new functionality

Co-Authored-By: sinu <65924192+sinui0@users.noreply.github.com>

* make it a ring buffer

---------

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>
2026-01-07 06:53:18 -08:00
dan
6f1a934bc4 chore(spansy): update to use rangeset 0.4 (#81) 2025-12-09 07:59:20 +00:00
th4s
7ca0b13278 feat(futures-plex): add sync Read and Write support
* feat(futures-plex): add sync `Read` and `Write` support

* return `WouldBlock` error instead

* use `futures::block_on` and add way to inspect buffer

* delegate to async methods in sync implementations
2025-12-08 19:27:18 +01:00
sinu.eth
0b2ee24e0c chore(rangeset): add convenience traits and prepare 0.4 release (#80) rangeset-v0.4.0 2025-12-08 07:46:58 -08:00
sinu.eth
d075df8d87 refactor(rangeset): consolidate ops traits (#79)
* refactor(rangeset): consolidate ops traits

* clippy

* add assert
2025-12-08 07:19:13 -08:00
dan
566c621ffa chore: fix clippy lints (#75) 2025-12-04 10:12:11 +00:00
dan
590971bf04 chore(spansy): update to use rangeset 0.3 (#74) 2025-12-04 09:26:01 +00:00
dan
304b910520 feat(spansy): add method for key value without separator (#72) 2025-10-29 13:18:01 +00:00
sinu.eth
0ef69abdd1 refactor(rangeset): rewrite to use streaming algs (#71)
* refactor(rangeset): rewrite to use streaming algs

* clippy

* pr feedback

* clippy
2025-10-20 09:37:32 -07:00
sinu.eth
dea3db250c refactor(web-spawn): change api to be more like a shim of std::thread (#69)
* refactor(web-spawn): change api to be more like a shim of std::thread

* clippy
web-spawn-v0.3.0
2025-08-19 08:09:53 -07:00
dan
5ffc674544 fix(web-spawn): call thread destructor (#68)
* fix(web-spawn): call thread destructor

* simpler

---------

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>
web-spawn-v0.2.1
2025-08-12 10:17:35 -07:00
sinui0
98da84482d fix(serio): enable futures-channel/sink serio-v0.2.1 2025-05-10 16:26:44 +02:00
sinui0
8c98016efc chore(serio): release 0.2.1 2025-05-10 14:36:14 +02:00
th4s
bd0f007a3d feat(codec): add getters for Framed (#67)
* feat(codec): add getters for `Framed`

* improve doc
2025-05-10 14:33:58 +02:00
th4s
6c9c40e68a chore: clippy, fmt, warnings (#64)
* clippy fixes

* fmt fixes

* mirgrate to 2024 and fix workspace warning

* fix profile

* rustfmt

---------

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>
2025-05-01 10:09:50 -07:00
yuroitaki
6168663495 chore(spansy): Update rangeset version (#62) 2025-04-17 12:10:10 +07:00
sinui0
e3e285c863 chore(rangeset): release 0.2 rangeset-v0.2.0 2025-04-17 11:10:54 +07:00
yuroitaki
753b4b026f feat(rangeset): return partial cover and uncovered elements for set cover. (#61)
* Return partial cover.

* Revert accidental change.

* Fix clippy.

* Return tuple instead of result.
2025-04-16 16:53:33 +07:00
sinu.eth
c1db19e6cc refactor: remove utils-aio (#60) 2025-04-02 11:17:49 +07:00
sinui0
90c5ef84b8 chore(rangeset): release 0.1.1 rangeset-v0.1.1 2025-04-02 06:35:15 +07:00
dan
91cd8bbbb3 fix(rangeset): default to 0 when candidate is None (#58) 2025-03-24 11:18:12 +00:00
sinu.eth
6650a956d3 chore(spansy): remove path location for rangeset dep (#57) 2025-03-19 21:53:53 -07:00
sinu.eth
e6e64ee9a5 feat(rangeset): rangeset crate (#56) rangeset-v0.1.0 2025-03-19 16:59:28 -07:00
sinu
76d9424238 feat(utils): cover_by method 2025-03-18 13:59:35 -07:00
yuroitaki
ab433b9240 feat(utils): add find exact subset cover for rangesets. (#54)
* Add set cover.

* Fix clippy, fmt.

* Apply clippy fix.

* Clipp fix.

* fmt fix.

* return Option and Vec, + clean up

---------

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>
2025-03-18 11:35:29 -07:00
sinu
abbbba3933 chore: add license to rand06-compat rand06-compat-v0.1.0 2025-03-17 13:11:18 -07:00
sinu
dfcaa3e5db chore: update rand06-compat manifest 2025-03-17 13:10:40 -07:00
sinu.eth
15b16b4e61 feat(rand06-compat): rand compat wrapper (#55) 2025-03-17 13:06:37 -07:00
Hendrik Eeckhaut
a67d7547bf Run Web-spawn tests in ci (#53) 2025-03-16 08:06:45 +01:00
sinu
477e1d48bf chore(web-spawn): release v0.2.0 web-spawn-v0.2.0 2025-03-07 10:47:26 -08:00
sinu.eth
78a9ae0f65 refactor(web-spawn): use snippets (#52) 2025-03-07 10:45:38 -08:00
sinu
425614e457 chore: bump versions 2025-03-03 10:18:49 -08:00
sinu.eth
9512cc1c44 feat: futures-limit and futures-plex (#51)
* feat: futures-limit and futures-plex

* use web time for wasm
2025-03-03 10:10:54 -08:00
sinu.eth
87cba96727 feat(web-spawn): first version (#50)
* feat(web-spawn): first version

* Update web-spawn/Cargo.toml

Co-authored-by: Hendrik Eeckhaut <hendrik@eeckhaut.org>

---------

Co-authored-by: Hendrik Eeckhaut <hendrik@eeckhaut.org>
2025-03-03 10:06:27 -08:00
yuroitaki
8555275722 perf(utils): further optimise subset check. (#48)
* Enhance subset check.

* Add benchmarks.
2025-01-21 16:20:44 +08:00
yuroitaki
6ea6284173 Merge pull request #49 from tlsnotary/chore/clippy-fix
chore: fix clippy warning from rust 1.83.0.
2025-01-06 11:51:40 +08:00
yuroitaki
5779070820 Fix clippy warning from rust 1.83.0. 2025-01-03 15:00:28 +08:00
Nicolas Le Bel
280bb38dac feat(serio): unbounded memory channels (#37)
* Added unbounded memory channels

* Add Clone to channel senders

* Changelog

* Apply suggestions from code review

Co-authored-by: th4s <th4s@metavoid.xyz>

* UnboundedMemoryDuplex + comments

---------

Co-authored-by: th4s <th4s@metavoid.xyz>
2024-11-25 08:14:45 -08:00
Hendrik Eeckhaut
09f1abe261 chore: fix clippy issues + run clippy in CI (#45)
* Chore: fix clippy issues + run clippy in CI

* clippy

* clippy

* clippy

* Formatting
2024-11-11 08:18:40 +00:00
sinu.eth
43995c5526 fix(serio): remove Unpin bound from item (#44) 2024-10-30 06:05:36 -07:00
dan
0040a00b44 Feat/ws relay (#43)
* feat: websocket relay

* support both TCP proxy and ws clients

* clippy

* fix: prevent sending after ws client closed (#38)

* clean up cargo.toml

* fix multiple workspace error

* fix lints

---------

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>
2024-10-18 12:49:28 +00:00
sinu.eth
6f629684d0 feat(utils): Inplace operations and std traits (#41)
* move traits into submodules

* add inplace methods and std ops

* impl for references

* fix symmetric difference
2024-10-08 10:07:29 -07:00
sinu.eth
83a9554cd5 feat(utils): extract_if backport (#40) 2024-10-01 10:47:22 -07:00
sinu.eth
e7b2db6a0c feat(utils): additional set operations (#39)
* rename traits

* subset

* intersection

* prove set intersection

* assert invariants

* fix doctest
2024-09-04 19:29:29 -07:00
sinu
45370ccc61 chore(uid-mux): release v0.1.0 uid-mux-v0.1.0 2024-06-24 12:06:00 -07:00
sinu
55cc4b0ddb chore(serio): release v0.1.0 serio-v0.1.0 2024-06-24 11:39:20 -07:00
sinu.eth
f8d4533b9e refactor(serio): encapsulate compat feature (#33) 2024-06-20 08:08:37 -07:00
sinu.eth
9a7001e2af feat(uid-mux): pre-allocate streams (#32) 2024-06-07 09:28:43 -07:00
sinu.eth
6e0be940d8 feat(uid-mux): TestFramedMux (#31) 2024-05-28 11:07:24 -07:00
sinu.eth
6cf35e0047 feat: uid-mux (#28)
* feat: uid-mux

* fix deadlock

* wake up after signalling close

* appease rustfmt

* doc: Create -> Creates

* simplify Waker usage

* test more cases, handle errors better

* remove tracing-subscriber dep

* Apply suggestions from code review

Co-authored-by: dan <themighty1@users.noreply.github.com>

* feat(uid-mux): framed mux (#29)

* feat(uid-mux): framed mux

* add test utils

* Apply suggestions from code review

Co-authored-by: dan <themighty1@users.noreply.github.com>

---------

Co-authored-by: dan <themighty1@users.noreply.github.com>

---------

Co-authored-by: dan <themighty1@users.noreply.github.com>
2024-05-24 12:20:29 -08:00