Unverified Commit 41b8a2c9 authored by Alexandru Vasile's avatar Alexandru Vasile Committed by GitHub
Browse files

Optimize serialization for client parameters (#864)



* core: Fix doc typo

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Implement generic `ParamBuilder` for RPC parameters

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Add specialized RPC parameter builder for arrays and maps

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Implement parameter builder for batch requests

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Implement `rpc_params` in the `types` crate

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* core: Adjust `ClientT` for generic efficient parameters

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* proc-macro: Render clients using the parameter builders

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Adjust testing to the `ToRpcParams` interface

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* core: Move `rpc_params` to core and simplify testing

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* core: Rename server's trait to `ToRpcServerParams`

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* bench: Adjust benches to the `ToRpcParams` interface

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Fix clippy

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Rename batch builder to `BatchRequestBuilder`

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* examples: Re-enable proc-macro example

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Fix doc tests and add panic documentation

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* core: Fix documentation link

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* client: Use BatchRequestBuilder as parameter for batch requests

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Update core/src/server/rpc_module.rs

Co-authored-by: default avatarNiklas Adolfsson <[email protected]>

* Update core/src/server/rpc_module.rs

Co-authored-by: default avatarNiklas Adolfsson <[email protected]>

* types: Add specialized constructors for internal `ParamsBuilder`

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Implement `EmptyParams` for client's parameters

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* tests: Fix macos disabled test

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Improve comment

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Fix clippy

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* benches: Rename functions

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* types: Rename param types to `ArrayParams` and `ObjectParams`

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Move paramters to core crate

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* core: Return `core::Error` from `ToRpcParams` trait

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Fix doc link

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Fix `ArrayParamsBuilder` doc links

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Remove `ToRpcServerParams` trait

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* core: Fix `ToRpcParams` docs

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Remove `ParamsSer` and extend benchmarking

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* core: Optimise `rpc_params` to avoid allocation on error

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* params: zero allocation for empty params

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* examples: Add copyright back

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* traits: Remove empty doc line

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Update core/src/traits.rs

Co-authored-by: default avatarJames Wilson <[email protected]>

* Update core/src/traits.rs

Co-authored-by: default avatarJames Wilson <[email protected]>

* examples: Restore `proc_macro` example to origin/master

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* core: Remove empty case for `rpc_params` macro

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
Co-authored-by: default avatarJames Wilson <[email protected]>
parent 5a2f6f11
Pipeline #213153 passed with stages
in 5 minutes and 28 seconds
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment