1. Jun 24, 2021
  2. Jun 18, 2021
  3. Jun 04, 2021
    • David's avatar
      Release prep for v0.2 (#368) · b3a0748b
      David authored
      * Release prep
      
      * Mention proc macro limitations
      
      * Mention publish script
      b3a0748b
    • Niklas Adolfsson's avatar
      [rpc module]: server-side close subscription (#355) · b987b811
      Niklas Adolfsson authored
      
      
      * [rpc module]: server-side close subscription
      
      Add functionality that closes the subscription after the sink has been dropped.
      
      * [integration tests]: add timeout on futures
      
      * remove global subscriber mutex
      
      * fix nit
      
      * [client types]: fix #349
      
      Subscription::next() propogate error when parsing the response fails
      
      * [client types]: fix #349
      
      Subscription::next() propogate error when parsing the response fails
      
      * unify subscription and notification
      
      * rename again
      
      * send notif response when subscription is dropped
      
      * stray debug stuff
      
      * Update utils/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Revert "[client types]: fix #349"
      
      This reverts commit c4fefade719ebd8c964a62d0eb16f89db3346ccd.
      
      * Revert "[integration tests]: add timeout on futures"
      
      This reverts commit 21dfb99649aaaa8c847a693b4510e0202498fa2c.
      
      * show that actual edge-case
      
      * fix nit
      
      * Update types/src/traits.rs
      
      * fix bad merge
      
      * ugly; but works
      
      * complete solution
      
      * get rid of Option
      
      * Update tests/tests/integration_tests.rs
      
      * Update utils/src/server/rpc_module.rs
      
      * Update utils/src/server/rpc_module.rs
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * grumbles: fix faulty early return
      
      * remove weird abstraction KeepAlive
      
      * fix nits
      
      * revert test timeouts
      
      * address grumbles
      
      * fix build
      
      Co-authored-by: default avatarDavid <[email protected]>
      b987b811
  4. Jun 03, 2021
  5. Jun 02, 2021
  6. Jun 01, 2021
    • Igor Aleksanov's avatar
      Fix clippy lints (#357) · 43ec342f
      Igor Aleksanov authored
      43ec342f
    • Igor Aleksanov's avatar
      Basic support for async methods (#327) · 2da9244b
      Igor Aleksanov authored
      
      
      * Add basic support for async methods
      
      * Add support of async methods into ws server
      
      * Add support of async methods to HTTP server
      
      * Fix subscriptions method lookup
      
      * Remove type that appeared to be unused
      
      * Add comment on safety of unwrap in OwnedJsonRpcRequest::borrowed
      
      * Update utils/src/server/rpc_module.rs
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      
      Co-authored-by: default avatarMaciej Hirsz <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      2da9244b
    • David's avatar
      Unify RpcModule types (#350) · c2c66e1a
      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: default avatarNiklas Adolfsson <[email protected]>
      c2c66e1a
  7. May 28, 2021
  8. May 27, 2021
  9. May 24, 2021
  10. May 19, 2021
  11. May 18, 2021
  12. May 12, 2021
    • Billy Lindeman's avatar
      [ws client] RegisterNotification support (#303) · c7384471
      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
      c7384471
  13. May 07, 2021
  14. May 04, 2021
    • Niklas Adolfsson's avatar
      [servers] return error if context or params fails (#295) · b51abeca
      Niklas Adolfsson authored
      * ret err if context/params fails
      
      * address grumbles: specific error_code context fail
      
      * address grumbles: make env_logger dev-dependency
      
      * address grumbles: add tests
      
      * chore(deps): remove unused deps
      
      * address grumbles: rename types and docs
      
      * address grumbles: more renaming.
      
      * fix build
      b51abeca
    • David's avatar
      [http server] Batch requests (#292) · 2cae10b6
      David authored
      
      
      * WIP
      
      * Implement draft of batch requests
      
      * fmt
      
      * cleanup
      
      * Explain why we don't use an untagged enum
      
      * Avoid allocating a Vec for single requets
      
      * Add comment
      
      * Add a benchmark for batch requests
      
      * Add more tests, noting where we diverge from the spec
      Fix empty batch case, i.e. `[]`
      
      * Obey the fmt
      
      * Update benches/bench.rs
      
      Co-authored-by: default avatarAndrew Plaza <[email protected]>
      
      * Update http-server/src/server.rs
      
      Co-authored-by: default avatarAndrew Plaza <[email protected]>
      
      * Add link to issue
      
      * Explain why we're closing the receiving end of the channel.
      
      * Limit logging of requests and response to 1kb
      Add more comments
      Factor out batch response collection
      
      * Wrap comment
      
      * tweak log line
      
      * Benchmark batch request over different batch sizes
      
      * fmt
      
      Co-authored-by: default avatarAndrew Plaza <[email protected]>
      2cae10b6
  15. Apr 28, 2021
  16. Apr 27, 2021
  17. Apr 26, 2021
    • Niklas Adolfsson's avatar
      [types]: allow `data` field in jsonrpc error obj. (#286) · 187ee5e9
      Niklas Adolfsson authored
      * [types]: allow `data` field in jsonrpc error obj.
      
      * fmt
      
      * revert change to make fail
      
      * remove redundant test
      
      * [types]: bring back `data` and `message` in error.
      
      Basically deducing the error message from server defined error doesn't work
      and we should not strip out this information from to user which might be useful.
      
      * remove boiler plate code
      
      * [types]: impl From<ErrorCode> for JsonRpcError
      
      * address grumbles
      
      * remove more boiler plate
      187ee5e9
  18. Apr 21, 2021
  19. Apr 20, 2021
    • Niklas Adolfsson's avatar
      prep to release 0.2.0-alpha.5 (#278) · 09d6df17
      Niklas Adolfsson authored
      09d6df17
    • Niklas Adolfsson's avatar
      [client] use types v2 (less alloc) (#269) · 31153ac7
      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
      31153ac7
  20. Apr 16, 2021
  21. Apr 13, 2021
  22. Apr 12, 2021
  23. Apr 02, 2021
  24. Apr 01, 2021
    • Niklas Adolfsson's avatar
      HTTP server refactor (#253) · 49899740
      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
      49899740
  25. Mar 31, 2021
    • Niklas Adolfsson's avatar
      [client] batch requests (#216) · b8bd715d
      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: default avatarDavid <[email protected]>
      
      Co-authored-by: default avatarDavid <[email protected]>
      b8bd715d