Skip to content
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

Add support for the RPC server/client (request/reply) paradigms #36

Closed
fabawi opened this issue Nov 21, 2022 · 1 comment · Fixed by #37
Closed

Add support for the RPC server/client (request/reply) paradigms #36

fabawi opened this issue Nov 21, 2022 · 1 comment · Fixed by #37
Labels
enhancement New feature or request

Comments

@fabawi
Copy link
Member

fabawi commented Nov 21, 2022

Add directories to Wrapyfi named "servers" and "clients" following the same convention as "publishers" and "listeners" containing all middleware. The request/reply paradigm should always wait: should_wait=True being always the case.

The equivalent of a server setting is activated by:

activate_communication(<Method name>, mode="reply")

The equivalent of a client setting is activated by:

activate_communication(<Method name>, mode="request")

The arguments are captured from the client (requester) and passed through to the server (replier), which returns the "reply" back to the server (itself) and the client.

Changes need to be made in the wrapyfi/connect/wrapper.py script to reflect new addition. Must initialize the server and client scanners in the init. Must carefully separate the publish/listen from reply/request

@fabawi fabawi added the enhancement New feature or request label Nov 21, 2022
@fabawi fabawi changed the title Add support for the server/client (request/reply) paradigms Add support for the RPC server/client (request/reply) paradigms Nov 21, 2022
@fabawi
Copy link
Member Author

fabawi commented Nov 21, 2022

The proposed paradigm corresponds to request/response on ZeroMQ, service client/server in ROS/ROS2, and YARP RPC client/server. At a later stage, we can consider adding the "should_wait=False" option which is analogous to client/server in ZeroMQ, action client/server in ROS/ROS2, and YARP (currently no asynchronous RPC client as discussed here

@fabawi fabawi pinned this issue Nov 21, 2022
@fabawi fabawi linked a pull request Dec 1, 2022 that will close this issue
@fabawi fabawi closed this as completed in #37 Dec 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant