- May 17, 2021
-
-
Albin Hedman authored
* Add custom_certificate to WsClientBuilder * Use system certs instead of specified file * Cache client_config * Move client_config logic to fn build * Default use_system_certificates to true * Move out connector * Add CertificateStore type * cargo fmt * cargo clippy * Resolve comment: Rename variable * Resolved comments
-
- May 12, 2021
-
-
Billy Lindeman authored
* Rename NotifResponse to SubscriptionResponse to make room for new impl * Add support for on_notification Subscription<T> types * Fix handling of NotificationHandler in manager * cleanup * Implement NotificationHandler to replace Subscription<T> and clean up plumbing * More cleanup * impl Drop for NotificationHandler * Address pr feedback #1 * ws client register_notification pr feedback 2 * Fix doc * fix typo * Add tests, get NH working * More cleanup of String/&str * fix doc * Drop notification handler on send_back_sink error * ws client notification auto unsubscribe when channel full test
-
- Apr 20, 2021
-
-
Niklas Adolfsson authored
* rewrite me * v2 * PoC works without batch request * remove `PartialEq` bounds * add naive benches types * misc * remove useless lifetime * [ws client]: move request ID generation to client * make tests compile again * [client transport]: kill leaky abstractions. * [http client transport]: minor changes in the API. * [ws client]: fix batch requests. * fix nits * [ws client]: generate two request IDs for subscrib * fix tests * remove unused types + less alloc for params. * fix nits * more tweaks. * remove unused code * fix more nits * remove unused legacy types * reorg types_v2 mod * port macros to new types * fix tests again; more jsonvalue * [proc macros]: bring back impl Into for params. * fix build * [proc macros]: make it work for external crates. * [types]: remove weird From<Option<T>> to impl. * cleanup again * [examples]: remove unused async-std dep * Update types/src/v2/mod.rs * [types]: remove unsed dep smallvec * rewrite me * [types]: error code impl ser/deser Manual implementation of serialize/deserialize to get rid of duplicated message string * [types v2]: re-org with explicit mods * fix faulty test * add missed files * [ws client]: req_manager reserve unsubscribe slot. * simplify test code * add tracking issue for TODO * remove unused deps
-
- Mar 31, 2021
-
-
Niklas Adolfsson authored
* feat(http client): batch requests * fix(http batch request): request in any order. * Update src/types/jsonrpc/id.rs * tests(batch out-of-order): make it less confusing. * fix nit: `cloned` -> `copied` * fix bad merge * [client]: batch request generic response * wait with impl * [ws client]: add template for batch requests * remove jsonvalue * naive impl * fix make it work, The implemenation is quite inefficient because the responses might be unordered. Currently, a "digest" of a BTreeSet is stored to sort the requestIDs and don't have to try all combinations of requestIDs in the response. * fix nits * error handling * fix nits * more nits * use error msg pattern * add batch requests to client trait Keep it simple by require `Vec<(Method, Params)>` could be improved. * address review comments: use swap_remove Replace read values with `Vec::swap_remove` instead inserting dummy value. The reason is that `Vec::remove` is O(n) * address review grumbles: batch trait bound Default * don't be clever * [http client]: faster lookup for batch request. * fix: distguish request_id and batch_id * thanks clippy * fix: clarify bad response with a separate error * fix tests * add issue link to todo * Update types/src/error.rs Co-authored-by:
David <[email protected]> Co-authored-by:
David <[email protected]>
-
- Mar 16, 2021
-
-
Niklas Adolfsson authored
* [ws client]: unsubscribe directly When a subscription is dropped because of `max_notifs_per_subscription` is exceeded the client didn't send an `unsubcribe request` until the subscription was dropped which this commit fixes. This causes the server to still send messages to the subscription and the client would get lots of error messages `InvalidRequestId` * address grumbles * fix: rephrase and not use request everywhere.
-
- Mar 09, 2021
-
-
Niklas Adolfsson authored
* [ws client]: register request ID for unsubscribe. Fixes #220 * refactor manager usage * restrict request ID to u8 * Update ws-client/src/tests.rs * rename `max_notifs_per_subscription_capacity` * Update tests/src/lib.rs * fix nits * address grumbles: vecdeq for free slots * resolve todo * [request manager]: add test for max limit. * Update ws-client/src/client.rs Co-authored-by:
David <[email protected]> * fix stack overflow * grumbles: MaxMemory -> MaxSlots * address grumbles: stray capacity on configs * Update types/src/client.rs Co-authored-by:
David <[email protected]> * grumbles: stray confusing docs * grumbles: doc nits * grumbles: remove nested if let Co-authored-by:
David <[email protected]>
-
- Mar 04, 2021
-
-
Niklas Adolfsson authored
* prep for client release. * fix nits * add changelogs * Update http-client/src/lib.rs Co-authored-by:
David <[email protected]> * address grumbles: one changelog * 0.2.0-alpha * revert rust2018 lint Co-authored-by:
David <[email protected]>
-
- Feb 02, 2021
-
-
Niklas Adolfsson authored
* fix examples * [ws client]: transport use `max_payload_size` * fix nits * fix more nits * Update ws-client/src/client.rs * fix doc tests * [ws client]: all transport config configurable * Update ws-client/src/client.rs Co-authored-by:
David <[email protected]> * Update ws-client/src/manager.rs Co-authored-by:
David <[email protected]> * address grumbles * grumbles: WsDnsError -> WsHandshakeError * grumbles: remove needless clone * fix lint: remove explicit lifetime * fix nits: channel capacity + docs * clippy nits * clippy nits * fix grumbles: channel capacity 256 As Maciej pointed out the capacity is the number of messages (not bytes) and each message is 96 bytes. Thus, 256 * 96 = ~24kB which is reasonable default value. * Update ws-client/src/client.rs Co-authored-by:
David <[email protected]> * grumbles: docs Co-authored-by:
David <[email protected]>
-
- Jan 18, 2021
-
-
Niklas Adolfsson authored
* update http example * ungeneric crate * update dependencies * [client]: add WebSocket client again. * [deps]: remove needless dev dependencies * nits: forgot to commit new files * [ws client]: `send_text` instead of `send_binary` This is temporary fix to work with the `server` which assumes that `WebSocket` resonses are `text` * chore: add a bunch of more logging * [ws]: port tests but some are failing. * chore: fmt * [server API]: expose `fn local_addr` as public API. * [tests]: make them less ugly by using `127.0.0.1:0` * fix: a bunch of compiler warnings. * [api]: uniform naming, `bind -> new` in transport. * [websocket server]: reply when deserial fails When the server receives an request with invalid JSON `-32700, Parse error shall be returned` * chore: fmt * [tests]: fix remaining tests * [websocket server]: support `binary` and `text` * [ws server]: fix bug in subscription response. `.await` was missing in ...
-