- Jul 13, 2022
-
-
Alexandru Vasile authored
Signed-off-by: Alexandru Vasile <[email protected]>
-
Alexandru Vasile authored
Signed-off-by: Alexandru Vasile <[email protected]>
-
- Jun 29, 2022
-
-
Alexandru Vasile authored
* subscription: Allow errors in subscription callbacks Signed-off-by: Alexandru Vasile <[email protected]> * subscription: Remove the need to own the error Signed-off-by: Alexandru Vasile <[email protected]> * error: Build `ErrorObject` from `CallError` for improved ergonomics Signed-off-by: Alexandru Vasile <[email protected]> * Update examples for the new subscription API Signed-off-by: Alexandru Vasile <[email protected]> * Add alias for subscription result Signed-off-by: Alexandru Vasile <[email protected]> * macros: Render server subscription method with `ResultSubscription` Signed-off-by: Alexandru Vasile <[email protected]> * Port `proc_macro` example to new API Signed-off-by: Alexandru Vasile <[email protected]> * Rename `ResultSubscription` to `ReturnTypeSubscription` to avoid confusion Signed-off-by: Alexandru Vasile <[email protected]> * Port all tests to new subscription API Signed-off-by: Alexandru Vasile <[email protected]> * Update documentation Signed-off-by: Alexandru Vasile <[email protected]> * Port benches Signed-off-by: Alexandru Vasile <[email protected]> * Replace tabs with spaces & add documentation Signed-off-by: Alexandru Vasile <[email protected]> * Add dummy error for subscriptions Signed-off-by: Alexandru Vasile <[email protected]> * Implement `From` for `SubscriptionError` Signed-off-by: Alexandru Vasile <[email protected]> * Return `SubscriptionError` when parsing params Signed-off-by: Alexandru Vasile <[email protected]> * Rename `SubscriptionError` to `SubscriptionEmptyError` Signed-off-by: Alexandru Vasile <[email protected]> * Change `accept` signature Signed-off-by: Alexandru Vasile <[email protected]> * Port tests to new `accept` api Signed-off-by: Alexandru Vasile <[email protected]> * Implement `pipe_from_try_stream` and `pipe_from_stream` for `PendingSubscription` Signed-off-by: Alexandru Vasile <[email protected]> * Modify examples to ilustrate new API Signed-off-by: Alexandru Vasile <[email protected]> * Fix docs tests Signed-off-by: Alexandru Vasile <[email protected]> * Rename previously `SubscriptionResult` -> `InnerSubscriptionResult` Signed-off-by: Alexandru Vasile <[email protected]> * Rename `ReturnTypeSubscription` -> `SubscriptionResult` Signed-off-by: Alexandru Vasile <[email protected]> * Remove documentation line Signed-off-by: Alexandru Vasile <[email protected]> * Implement `PipeFromStreamResult` Signed-off-by: Alexandru Vasile <[email protected]> * Add comment for empty error Signed-off-by: Alexandru Vasile <[email protected]> * Update proc-macros/src/lib.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Update proc-macros/src/lib.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Update proc-macros/src/lib.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Change `ReturnTypeSubscription` -> `SubscriptionResult` Signed-off-by: Alexandru Vasile <[email protected]> * Add `ResultConsumed` for `PipeFromStreamResult` Signed-off-by: Alexandru Vasile <[email protected]> * Update examples to use `PipeFromStreamResult` Signed-off-by: Alexandru Vasile <[email protected]> * Replace ConsumedResult with Options Signed-off-by: Alexandru Vasile <[email protected]> * Log warning when subscription callback fails Signed-off-by: Alexandru Vasile <[email protected]> * Change ubuntu test names Signed-off-by: Alexandru Vasile <[email protected]> * server: Make `pipe` methods of `SubscriptionSink` private Signed-off-by: Alexandru Vasile <[email protected]> * server: Remove `pipe_from_stream` method of `SubscriptionSink` Signed-off-by: Alexandru Vasile <[email protected]> * server: Update PipeFromStreamResult documentation Signed-off-by: Alexandru Vasile <[email protected]> * Adjust tests to `SubscriptionSink::pipe_from_stream` private interface Signed-off-by: Alexandru Vasile <[email protected]> * Add `accept-reject` API on `SubscriptionSink` Signed-off-by: Alexandru Vasile <[email protected]> * Make `pipe_from_try_stream` public Signed-off-by: Alexandru Vasile <[email protected]> * Maybe accept the subscription Signed-off-by: Alexandru Vasile <[email protected]> * Revert "server: Remove `pipe_from_stream` method of `SubscriptionSink`" This reverts commit d3c3ce9c . * Make `unsubscribe` channel optional on accepting the connection Signed-off-by: Alexandru Vasile <[email protected]> * Pass `SubscriptionSink` to subscription callbacks Signed-off-by: Alexandru Vasile <[email protected]> * Implement subscription sink state Signed-off-by: Alexandru Vasile <[email protected]> * Submit `InvalidParams` if sink was never accepted Signed-off-by: Alexandru Vasile <[email protected]> * Handle rejected sinks Signed-off-by: Alexandru Vasile <[email protected]> * Remove `PendingSubscription` Signed-off-by: Alexandru Vasile <[email protected]> * Fix doc tests Signed-off-by: Alexandru Vasile <[email protected]> * macro: Make subscription sink mutable Signed-off-by: Alexandru Vasile <[email protected]> * Fix tests and examples Signed-off-by: Alexandru Vasile <[email protected]> * macro: Return `sink.reject()` result Signed-off-by: Alexandru Vasile <[email protected]> * tests: Add test for `SubscriptionSinkState` Signed-off-by: Alexandru Vasile <[email protected]> * Test internal subscription sink state Signed-off-by: Alexandru Vasile <[email protected]> * Fix `send_error` to not always return `false` Signed-off-by: Alexandru Vasile <[email protected]> * Fix benches Signed-off-by: Alexandru Vasile <[email protected]> * Remove `PipeFromStreamResult` Signed-off-by: Alexandru Vasile <[email protected]> * Use valid Json-RPC return code for test errors Signed-off-by: Alexandru Vasile <[email protected]> * Remove `SubscriptionSinkState`" * Remodel state machine using `Option`s for `SubscriptionSink`s Signed-off-by: Alexandru Vasile <[email protected]> * tests: Double accept / reject API for `SubscriptionSink` Signed-off-by: Alexandru Vasile <[email protected]> * Implement `SubscriptionAcceptRejectError` for error propagation Signed-off-by: Alexandru Vasile <[email protected]> * Remove `maybe_accept` wrapper Signed-off-by: Alexandru Vasile <[email protected]> * Update comments and documentation Signed-off-by: Alexandru Vasile <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> * Update core/src/server/rpc_module.rs Co-authored-by: Niklas Adolfsson <[email protected]> * rpc_server: Add type alias for unsubscription calls Signed-off-by: Alexandru Vasile <[email protected]> * rpc_server: Improve comment regarding dropped error Signed-off-by: Alexandru Vasile <[email protected]> * style: Single line return errors Signed-off-by: Alexandru Vasile <[email protected]> * Make comment more verbose Co-authored-by: Niklas Adolfsson <[email protected]> Co-authored-by: James Wilson <[email protected]>
-
- Apr 20, 2022
-
-
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 04, 2022
-
-
Niklas Adolfsson authored
* improve benches with 10 requests per conn * add subscription bench * fix nits * fix nit run 256 too * add CPU profiling via pprof * rewrite me * add move benchmark methods; fast, slow & memory intensive * add instructions for ulimit * reduce mem call not reach 256MB limit in WS for batches
-
- Apr 01, 2022
-
-
Niklas Adolfsson authored
* unify servers; use tokio::TcpListener * add API to build server from tcp socket * build_from_tcp nit: not async * fix nits * change `build_from_tcp` force users configure hyper The hyper settings might contradict to settings on the provided socket, force users of this API to configure that avoid confusion and unexpected settings. * Update http-server/src/server.rs * fix doc links * add separate APIs `build_from_tcp` and `build_from_hyper` * fix clippy * remove dead code * fix build * fix nit in example code
-
- Dec 17, 2021
-
-
Maciej Hirsz authored
* Nuke V2 * fmt * Formatting and imports * Updated benches * Fix doc comment link * Brace imports in ws-server * Reworking imports * std first * fmt * std on top * Update to match changed line numbers * Rename jsonrpsee_utils -> jsonrpsee_core * Migrating things types -> core * RpcError -> ErrorResponse * Merge types::client into core::client * Continued move types -> core * Removing features to make checks pass * Move rpc_module tests to tests crate * Fixed doc comment links * Add futures-util dependency for client * Remove dead code Co-authored-by: Niklas Adolfsson <[email protected]> * fmt * Feature gate the Client trait * Move `Client` traits to `client` module Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Nov 19, 2021
-
-
Niklas Adolfsson authored
* feat: override `method` subscription notif * Arrow syntax for overwrites (#569) * check that unique notifs are used * check that custom sub name is unique * cargo fmt * address grumbles * Update proc-macros/src/rpc_macro.rs * commit added tests * Update proc-macros/src/render_server.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/render_server.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/rpc_macro.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/rpc_macro.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * grumbles * fix long lines * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update utils/src/server/rpc_module.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/rpc_macro.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/render_server.rs Co-authored-by: David <[email protected]> * Update proc-macros/src/render_server.rs Co-authored-by: David <[email protected]> * more grumbles Co-authored-by: Maciej Hirsz <[email protected]> Co-authored-by: David <[email protected]>
-
- Nov 17, 2021
-
-
Niklas Adolfsson authored
* fix: enable several sockaddress when starting servers * nits * more verbose asserts in rustdoc tests * fix tests * fix tests again
-
- Nov 08, 2021
-
-
Chris Sosnin authored
* Implement Future for server handles * Explicitly assert timeout errors in tests
-
- Oct 17, 2021
-
-
Niklas Adolfsson authored
* fix http client bench with request limit * benches for jsonrpc servers * workaround; dont use max request limit * add subscriptions * revert unintentional change * ignore batch request bench for ws * fmt * log -> tracing * test bench CI * test bench v0.3 * wtf; run CI * work plz * remove test CI bench * fix compile warn on macos
-
- Oct 11, 2021
-
-
Niklas Adolfsson authored
* [ws server]: refactor start() * remove needless clone * fix http server too * fmt * unify stop APIs * fix bad merge * add API to use custom tokio runtime * use futures oneshot * fix unintentional change * Revert "use futures oneshot" This reverts commit 0432f6ba41d49a3494943458657a31f8afd79160. * Update http-server/src/server.rs Co-authored-by: Maciej Hirsz <[email protected]> Co-authored-by: Maciej Hirsz <[email protected]>
-
Maciej Hirsz authored
* Squash post merge * RAII claims and some comments * Adding resources to Methods * Use arrays for claiming all resources at once * Register resources on ws-server * Return MethodResourcesBuilder from register_method * Return MethodResourcesBuilder from register_async_method * fmt and comments * Add `verify_and_insert` to get rid of `or_insert` in order to get mut ref to value * Resources initialization * No need for ResourceBuilder * Comment all the things * Handle errors on ws-server `start` method * Passing ResourceGuard to method execution * Start ws-server in background, simplify all the tests! * Claiming resources on runtime * Do checked math on resource claiming * Clearer error path for resources at limit * Resource limiting tests WIP * Unbox async futures * fmt * Cleaner proc macro * Fix lifetime issues with ResourceGuard with internal Arc * Remove unnecessary lifetime generic * Working tests * Use turbofish in tests * fmt * Fixed (?) benches * Apply suggestions from code review Co-authored-by: David <[email protected]> * Tweak more grumbles * Adding a test for resource limiting with proc macros (WIP) * Reworking attribute macros for resource limiting (#507) * Squashed macros WIP * bae-less macros! * Make things simpler and more readable * Some comments and DRY aliases parsing * Naming things is hard * Respan is no longer needed * Simpler Arguments * Remove stale code * Apply suggestions from code review Co-authored-by: Niklas Adolfsson <[email protected]> * syn-up all the things, handle resources on methods Co-authored-by: Niklas Adolfsson <[email protected]> * Resource limiting on the http server * Test two resources at once * Test the HTTP server for resource limiting * Apply suggestions from code review Co-authored-by: David <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]> * Comment tweaks * More explicit error type for `AttributeMeta::retain` * Remove generic from ResourceTable; derive Default on ws Builder * Make the macros shorter Co-authored-by: David <[email protected]> Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Oct 01, 2021
-
-
Maciej Hirsz authored
* Unbox async futures * fmt * Cleaner proc macro * Remove unnecessary parens around async blocks
-
- Jul 12, 2021
-
-
Maciej Hirsz authored
* Do not register methods on servers * fmt * Infallible `to_rpc` proc macro * Remove dead code * Check for duplicate names at compile time * Add a UI test for name conflicts * Apply suggestions from code review Co-authored-by: David <[email protected]> Co-authored-by: David Palm <[email protected]>
-
- Jun 14, 2021
-
-
Igor Aleksanov authored
* Add benches for async methods * Benches for subscriptions
-
- Jun 03, 2021
-
-
David authored
* Add a builder to the ws server * Use the WsServerBuilder in tests&examples * cleanup * fmt * Fix benches * fix error message * Add connection count limiting and associated config item * Use the strong_count to `methods` to know how many connections we currently have * Fix test
-
- Jun 01, 2021
-
-
David authored
* Remove register_* from Server * Tests pass * Some cleanup * more cleanup * Less bounds * Remove the `RpcMethod` trait – I don't think we need it. * fmt * Fix benches * Enable merging two modules with different contexts * Module registration returns number of methods on the server and checks for dupes Tests for module registration and some cleanup * Export `RpcModule` from façade crate fmt * Revert to return error from `Server::register_module` * Remove Server::methods * Remove TODO * Fix tests Fix http server to work the same as ws-server * Server::method_names * fmt * fix clippy warnings Co-authored-by: Niklas Adolfsson <[email protected]>
-
- Apr 16, 2021
-
-
Niklas Adolfsson authored
* [deps futures]: remove unused features I got annoyed that we bring in `futures-executor` as a dependency however `soketto` does this too, so doesn't help for the `WS` stuff. * cargo fmt
-
- Apr 15, 2021
-
-
Niklas Adolfsson authored
* add wrapper crate * add jsonrpsee crate back * [jsonrpsee]: feature gate modules * [proc macros]: support crate renaming of `types` * Update proc-macros/src/lib.rs Co-authored-by: David <[email protected]> * re-export types * [proc macros]: remove unused features * Update proc-macros/Cargo.toml * fix bad merge Co-authored-by: David <[email protected]>
-
- Apr 01, 2021
-
-
Niklas Adolfsson authored
* refactor benches * start * fix build: enable `raw value` feature serde_json * start * port it * make tests compile * fix bench * fix bench * introduce builder pattern * tweaks * remove unused code * cleanup * [http server]: configure tcp socket manually. The major reason is to provide a uniform API with the WebSocket server to return the local address. * remove unused deps * [examples]: remove needless sleep * chore: add docs and refactor noise. * Update types/src/jsonrpc/error.rs * http server use constants
-
- Mar 31, 2021
-
-
Niklas Adolfsson authored
* refactor benches * remove async-std * add new file * fix nits
-