-
Notifications
You must be signed in to change notification settings - Fork 795
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
[22722] Support interfaces for RPC generated code #5622
base: feature/rpc/main
Are you sure you want to change the base?
Conversation
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
* | ||
* @param value The value to read the reply into. | ||
* | ||
* @return True if a reply was read, false if the feed has finished. |
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.
For clarity should read: "false if the feed has finished or has been cancelled".
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.
Changed in 8827652
* | ||
* @param value The value to read the reply into. | ||
* | ||
* @return True if a reply was read, false if the feed has finished. |
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.
same as above
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.
Changed in 8827652
* Copy write operation. | ||
* | ||
* Will add a value to the input feed, that would be eventually sent to the server. | ||
* May block depending on the configured queue sizes in both the client and the server. |
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.
Is the queue size part of the default qos in fastdds when configured in either push/pull mode or is it an addition in the RPC implementation?
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.
There will be new RpcClientQos
and RpcServerQos
classes that will compose a DataWriterQos
and DataReaderQos
inside. So the queue sizes mentioned here refer to the ones in the standard HISTORY and RESOURCE_LIMITS QoS
* @throw RpcBrokenPipeException if the communication with the client breaks. | ||
* @throw RpcInputFeedCancelledException if the client cancels the input feed. | ||
*/ | ||
virtual bool read( |
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.
As an example:
In the event that a database is unable to receive more data due to a lack of storage space, how can this be propagated to the client that the server is unable to process more data?
T type;
while(read(type))
{
// I ran out of space, how do i signal this to the client?
}
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.
Throwing an exception defined in the IDL, which will be a child of RpcOperationError
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.
See commit 57d9df2 for documentation improvement of RpcClientWriter
* @param value The value to write to the replies feed. | ||
* | ||
* @throw RpcBrokenPipeException if the communication with the client breaks. | ||
* @throw RpcTimeoutException if the operation needs to block for a time longer than the configured timeout. |
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.
Should this call not be able to throw RpcInputFeedCancelledException in the event that the reader prematurely calls cancel()? This also applies to the copy call above
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.
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.
Initial EIVA review
…lledException` Signed-off-by: Miguel Company <[email protected]>
…Exception` Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
@mcheiva I think I addressed all your comments. Could you re-review? |
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.
We reviewed your answers to our comments, and it looks good! :)
Description
This adds the generic interfaces that the code generated by Fast DDS Gen for RPC interfaces will use.
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist