- Aug 16, 2022
-
-
Alexandru Vasile authored
* client: Implement `notify_on_disconnect` Signed-off-by: Alexandru Vasile <[email protected]> * Revert "client: Implement `notify_on_disconnect`" This reverts commit c8ffaa4c . * client: Rely on `tokio::sync::mpsc::Sender` to notify on disconnect Signed-off-by: Alexandru Vasile <[email protected]> * Implement `InternalError` for tokio and futures_channel's SendError Signed-off-by: Alexandru Vasile <[email protected]> * client: Remove tokio-stream dependency Signed-off-by: Alexandru Vasile <[email protected]> * client: Rename `notify_on_disconnect` to `on_disconnect` Signed-off-by: Alexandru Vasile <[email protected]> * Add `tokio/sync` as dependency of client feature Signed-off-by: Alexandru Vasile <[email protected]> * wasm-client: Use `tokio::sync::mpsc::channel` for notify on disconnect Signed-off-by: Alexandru Vasile <[email protected]> * Add tokio/sync dependency to satisfy `--no-default-features` check Signed-off-by: Alexandru Vasile <[email protected]> * Best effort to close channel on client drops Signed-off-by: Alexandru Vasile <[email protected]> * revert to: client: Implement `notify_on_disconnect` Signed-off-by: Alexandru Vasile <[email protected]> * Replace tokio/sync with oneshot channel Signed-off-by: Alexandru Vasile <[email protected]> * tests: Check `client.on_disconnect()` returns when server shuts down Signed-off-by: Alexandru Vasile <[email protected]> * tests: Fix comment typo Signed-off-by: Alexandru Vasile <[email protected]> * tests: Call `on_disconnect()` multiple times Signed-off-by: Alexandru Vasile <[email protected]> * tests: Call `on_disconnect` with closed server Signed-off-by: Alexandru Vasile <[email protected]> Signed-off-by: Alexandru Vasile <[email protected]>
-
- Aug 12, 2022
-
-
Niklas Adolfsson authored
* fix(client): adjust TransportSenderT This is trait contains `WebSocket` specific details and it's difficult to fix it properly with an extension trait in the current design. So this PR documents and marks it clearly that these methods are optional to implement, kind of ugly but better. * fix build * Update core/src/client/mod.rs Co-authored-by: Alexandru Vasile <[email protected]> * Update core/src/client/mod.rs Co-authored-by: Alexandru Vasile <[email protected]> * increase margin for failing test * Update core/src/client/mod.rs Co-authored-by: James Wilson <[email protected]> * remove optional prefix in trait Co-authored-by: Alexandru Vasile <[email protected]> Co-authored-by: James Wilson <[email protected]>
-
- Aug 11, 2022
-
-
Alexandru Vasile authored
* Fix cargo clippy Signed-off-by: Alexandru Vasile <[email protected]> * ci: Deny clippy warning Signed-off-by: Alexandru Vasile <[email protected]> * Replace clippy by `clippy-check` Signed-off-by: Alexandru Vasile <[email protected]>
-
- Jul 29, 2022
-
-
Patrick Kuo authored
* add id to tracing span * Revert "add id to tracing span" This reverts commit 5e01e6be. * Avoid using Span::enter() in async functions, following tracing's doc instruction https://docs.rs/tracing/latest/tracing/struct.Span.html#in-asynchronous-code * * fixed all Span::enter() * clean up * fix fmt * changed RpcTracing::span -> into_span instead of cloning the span
-
- Jul 06, 2022
-
-
Niklas Adolfsson authored
-
- Jun 21, 2022
-
-
Niklas Adolfsson authored
* feat(clients): add explicit unsubscribe API * add tests for unsubscribe * rephrase bad english
-
Niklas Adolfsson authored
* less verbose logging + tracing based on method name * add tracing per rpc call * fix nits * remove unsed feature * fix build * http make logging more human friendly * unify logging format * deps: make tracing hard dependency * fix tests * fix nit * fix build * fix nits * Update core/src/client/async_client/mod.rs * Update core/Cargo.toml * Update core/src/lib.rs
-
- Jun 01, 2022
-
-
Alexandru Vasile authored
* ws: Implement ping for `TransportSenderT` trait Signed-off-by: Alexandru Vasile <[email protected]> * ws/client: Receive pong frames Signed-off-by: Alexandru Vasile <[email protected]> * core/client: Use `select!` macro for the background task Signed-off-by: Alexandru Vasile <[email protected]> * client: Propagate ping interval to background task Signed-off-by: Alexandru Vasile <[email protected]> * async_client: Submit ping requests Signed-off-by: Alexandru Vasile <[email protected]> * async_client: Handle pong replies Signed-off-by: Alexandru Vasile <[email protected]> * client: Handle frontend messages to dedicated fn Signed-off-by: Alexandru Vasile <[email protected]> * client: Handle backend messages in dedicated fn Signed-off-by: Alexandru Vasile <[email protected]> * client: Add terminated fuse for opt-out pings Signed-off-by: Alexandru Vasile <[email protected]> * Set opt-out behavior for client pings Signed-off-by: Alexandru Vasile <[email protected]> * client: Move imports Signed-off-by: Alexandru Vasile <[email protected]> * client: Handle handle_frontend_messages errors Signed-off-by: Alexandru Vasile <[email protected]> * client: Add custom error related to byteslice conversions Signed-off-by: Alexandru Vasile <[email protected]> * client: Modify `send_ping` to send empty slices Signed-off-by: Alexandru Vasile <[email protected]> * Fix `cargo hack check` and use `select_biased` Signed-off-by: Alexandru Vasile <[email protected]> * Handle sending pings with lowest priority Signed-off-by: Alexandru Vasile <[email protected]> * core: Add proper number of params to `background_task` Signed-off-by: Alexandru Vasile <[email protected]> * Fix wasm client Signed-off-by: Alexandru Vasile <[email protected]> * Handle raw bytes and string received messages Signed-off-by: Alexandru Vasile <[email protected]> * Fix Cargo.toml feature Signed-off-by: Alexandru Vasile <[email protected]> * Panic when empty slice does not fit into `ByteSlice125` Signed-off-by: Alexandru Vasile <[email protected]> * wasm: Add operation not supported for pings Signed-off-by: Alexandru Vasile <[email protected]> * Rename `ReceivedMessage` from Data to Text Signed-off-by: Alexandru Vasile <[email protected]> * Rename test variable Signed-off-by: Alexandru Vasile <[email protected]> * Add documentation Signed-off-by: Alexandru Vasile <[email protected]> * client: Use `future::select` for cancel safety Signed-off-by: Alexandru Vasile <[email protected]> * client: Remove `pong` handling logic Signed-off-by: Alexandru Vasile <[email protected]> * client: Update ping documentation Signed-off-by: Alexandru Vasile <[email protected]> * Update core/src/client/async_client/mod.rs Co-authored-by: Tarik Gul <[email protected]> * Update core/src/client/async_client/mod.rs Co-authored-by: Tarik Gul <[email protected]> * Update core/src/client/async_client/mod.rs Co-authored-by: Tarik Gul <[email protected]> * Update core/src/client/async_client/mod.rs Co-authored-by: Tarik Gul <[email protected]> * Update core/src/client/async_client/mod.rs Co-authored-by: Tarik Gul <[email protected]> * Update core/Cargo.toml Co-authored-by: Niklas Adolfsson <[email protected]> * Update core/Cargo.toml Co-authored-by: Niklas Adolfsson <[email protected]> * logs: Keep debug log for submitting `Ping` frames Signed-off-by: Alexandru Vasile <[email protected]> * Print debug logs when receiving `Pong` frames Signed-off-by: Alexandru Vasile <[email protected]> * Update core/src/client/async_client/mod.rs Co-authored-by: Tarik Gul <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]>
-
- May 06, 2022
-
-
Niklas Adolfsson authored
* fix: generate docs behind features * address grumbles
-
- Apr 20, 2022
-
-
Niklas Adolfsson authored
* feat: untested web-sys transport * rewrite me * make it work * add hacks and works :) * add subscription test too * revert StdError change; still works * cleanup * remove hacks * more wasm tests outside workspace * kill mutually exclusive features * merge nits * remove unsafe hack * fix nit * core: fix features and deps * ci: add WASM test * test again * work work * comeon * work work * revert unintentional change * Update core/Cargo.toml Co-authored-by: David <[email protected]> * Update core/src/client/async_client/mod.rs Co-authored-by: David <[email protected]> * revert needless change: std hashmap + fxhashmap works * cleanup * extract try_connect_until fn * remove todo * fix bad merge * add wasm client wrapper crate * fix nits * use gloo-net dependency * fix build * grumbles CI: rename to `wasm_tests` * fix bad merge * fix grumbles * fix nit * comeon CI Co-authored-by: David <[email protected]>
-
Niklas Adolfsson authored
* fix(rpc module): fail subscription with bad params * draft; show my point * fix tests * fix build * add tests for proc macros too * add tests for bad params in proc macros * fix nits * commit all files * add ugly fix for proc macro code * add more user friendly API * make SubscriptionSink::close take mut self * fix grumbles * show james some code * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * remove needless clone * fix build * client fix docs + error type * simplify code: merge connect reset and unsubscribe close reason * remove unknown close reason * refactor: remove Error::SubscriptionClosed * add some nice APIs to ErrorObjectOwned * unify api * address grumbles * remove redundant methods for close and reject * proc macro: compile err when subscription -> Result * rpc module: fix test subscription test * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: James Wilson <[email protected]> * Update proc-macros/src/lib.rs Co-authored-by: James Wilson <[email protected]> * address grumbles * remove faulty comment * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * fix: don't send `RPC Call failed: error`. * remove debug assert Co-authored-by: James Wilson <[email protected]> Co-authored-by: David <[email protected]>
-
- Apr 01, 2022
-
-
Niklas Adolfsson authored
* fix(client): close subscription when server sent `SubscriptionClosed` notification * Update core/src/client/async_client/helpers.rs
-
- Mar 30, 2022
-
-
Niklas Adolfsson authored
* refactor: get rid off `Error::Request` variant * fix nit * to_owned -> to_call_error
-
- Jan 21, 2022
-
-
Niklas Adolfsson authored
* feat(client): support request id as Strings. * add tests for Id::String * address grumbles: move id_kind to RequestManager * Update client/http-client/src/client.rs * types: take ref to `ID` get rid of some `Clone` * remove more clone * grumbles: rename tests
-
- Dec 22, 2021
-
-
Niklas Adolfsson authored
Implies MSRV 1.56.x
-
- Dec 21, 2021
-
-
Niklas Adolfsson authored
* PoC * introduce IdProvider trait * revert Cow stuff * Update ws-server/src/server.rs * fix tests * cargo fmt * use 'static lifetime in SubscriptionId * fix tests * fmt * make tests compile again * fix tests * Fix tests * Move IdProvider impls to own module * move `sub-id gen` types to `core` * fix doc links * make rand non-optional dep * feature gate: id provider Co-authored-by: David Palm <[email protected]>
-
- Dec 20, 2021
-
-
Niklas Adolfsson authored
* extract ws client to async client * bring back jsonrpsee-ws-client crate * new crate core client * add missing file * jsonrpsee crate: add core client * rexport core client * more re-exports * downgrade trait bounds * update version * fix nits * send close reason * Update types/src/traits.rs * move 'TEN_MB_CONST' to core * Update client/core-client/Cargo.toml Co-authored-by: David <[email protected]> * Update client/core-client/src/lib.rs Co-authored-by: David <[email protected]> * cargo fmt * Update client/ws-client/src/lib.rs Co-authored-by: David <[email protected]> * Update client/ws-client/src/lib.rs Co-authored-by: David <[email protected]> * move `async-client` core The `async-client` is hidden behind a new feature flag `async-client` because it brings in additional dependecies such as tokio rt. * fix docs * add example how to use "core client" * fix build * Update http-server/Cargo.toml * Update client/transport/Cargo.toml Co-authored-by: David <[email protected]>
-