-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refine BackEnd RPC implementations #618
Conversation
Add Ethereum BackEnd implementation Refactor RPC factories to use Ethereum BackEnd Refactor Etherbase RPC implementation Refactor unit tests
Codecov Report
@@ Coverage Diff @@
## master #618 +/- ##
==========================================
+ Coverage 81.76% 82.15% +0.39%
==========================================
Files 170 175 +5
Lines 14193 14386 +193
==========================================
+ Hits 11605 11819 +214
+ Misses 2588 2567 -21
Continue to review full report at Codecov.
|
Add Sentry clients in each BackEnd KV factory group Add client completion queue+runner in each server context Add RPC client async calls
Initialize Sentry clients from server contexts Add factory of remote Sentry clients
Temporarily avoid removing Sentry client RPCs
Remove threads waiting on completion queues Refactor unit tests
Refactor call and call factory hierarchy Remove io_context::post and execute CQ handler directly Remove one io_context:: poll_one from execution loop Update unit tests Add unit tests for KO scenarios
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR contains the following features:
Etherbase
RPC implementationNetVersion
RPC implementationNetPeerCount
RPC implementationNodeInfo
RPC implementationEthereumBackEnd
implementation and refactor RPC factories to use itEtherbase
command-line option to BackEnd & KV standalone servernumContexts
threads, reducing threads from 3 to 1 per context [still WIP see TODOLIST]TODOLIST:
ServerContextPool
to avoid CPU waste