Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: improve Adapter error types for broadcast and disconnect methods #408

Merged
merged 42 commits into from
Dec 24, 2024

Conversation

Totodore
Copy link
Owner

@Totodore Totodore commented Dec 24, 2024

The broadcast and disconnect methods now a Result<_, BroadcastError>. Therefore the error can handle all cases (parser issue, internal socket channel full or adapter error).

Remove also the packet types re-export from socketioxide.

* Remove Sync bound on adapter error
* Add an AdapterCtr trait to keep state
This will allow adapter implementors to use the `LocalAdapter` as a parent.
This will allow to share errors between nodes.
The parser error is also now a Boxed error in order to have multiple dyn possible implementations;
* return broadcast ack count
* remove empty rooms
crates/socketioxide/src/socket.rs Fixed Show fixed Hide fixed
crates/socketioxide/src/socket.rs Fixed Show fixed Hide fixed
@Totodore Totodore merged commit f44d031 into feat-adapter-rework Dec 24, 2024
14 checks passed
Totodore added a commit that referenced this pull request Jan 12, 2025
* feat(socketio): async adapter (#395)

* feat: improve `Adapter` error types for `broadcast` and `disconnect` methods (#408)

* feat(socketio/ns): improve `SocketEmitter` trait (#410)

* feat(core/adapter): pass filter to get_sids

* feat: add custom `Iterator` return for apply_opts fn

* chore(docs): add doc on async adapters (#411)

* feat(adapter): add a remote socket API (#412)

* feat(core): switch to a new type for server uid (#413)

* chore(deps): rm `__test_harness` && `tracing` feature flags.

* chore(deps): add fuzzing as cfg flag

* chore(ci): msrv

* chore(clippy): fix redundant import (#414)

* feat(core): improve local adapter perf (#415)

* test(e2e): provide e2e testing system for adapters (#422)

* test(e2e): provide e2e testing system for adapters

* fix(e2e/adapter): remove redis deps

* feat(socketio): check namespaces at insertion

* feat(redis): redis adapter crate (#402)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant