-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[RUTNIME] Support C++ RPC #4281
Conversation
@weberlo @srkreddy1238 @snowolfhawk it would be great if you can also help to review the PR |
@tqchen Wish I have solved many comments. I also replace SelectHelper into PoolHelper. Remained: |
split then check creates additional data structures such as vector and string(additional data structures), which can be avoided as you can simply do istringstream to parse the ints (check the bits) and avoid creation of additional containers |
@tqchen When I implement completely, I find using system api |
+1 for ipv6 compatibility |
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.
some final nits
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.
A few very minor nits. Otherwise, LGTM.
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.
some final nits
@tqchen Have resolved LOG(ERROR) -> LOG(FATAL) and gnulib issue. Please review again |
Thanks @FrozenGene @weberlo ! |
C++ RPC is very useful for embedded devices, which can not have Python environment easily. And thanks @siju-samuel ' great work, based on #1756, we could get C++ RPC work on these embedded devices. I want to summary some different places compared that PR.
waitpid_eintr
to handle it, we also modify the incorrect argument from--timeout
to-timeout
.GetCmdOption
. Previous PR can not work well like--key=mtk6763
, which will recognize the secondk
.GetPath
. In our python api, we could add one argument to specify where we would like to place the deployed .soOthers small changes are not listed.
The screenshot of work example:
Device:
Server:
Better to do:
Modify the runtime code and cpp_rpc code to be C++03 compatible.
@tqchen @siju-samuel @snowolfhawk @yzhliu