-
Notifications
You must be signed in to change notification settings - Fork 364
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
Expose seqnum via sampleinfo #1484
base: master
Are you sure you want to change the base?
Expose seqnum via sampleinfo #1484
Conversation
Thanks @TheFixer for providing an implementation (I think a partial one, there are places where Assuming I would agree with adding it to the "sample info", and leaving aside the existence of some other places that need analogous changes, there is only one thing I think is "off" in this PR, and that's the name of the field. All the fields in the sample info have these terribly long names, and a simple "seq_no" doesn't really fit in. I'm sure that the spec would have spelled it out as "sequence_number" if it had included it, and that is what would have made its way into the sample info in Cyclone, too. However, I am not keen on adding it. The sequence number is in my view something internal to the DDS implementation and not metadata that is for the application's consumption (however handy it might come in sometimes), because I am of the opinion that any data that matters to the application should be modelled in the topics. Unfortunately, I'm stuck with all the mostly-useless metadata in sample info that the spec defines ... if it were up to me, very little of that would exist. That I am against adding it to "sample info" doesn't mean I am against adding it to |
Guess that what it boils down to is 'how normal' of an application, a durability-service is/can be. |
e9a57d6
to
436313c
Compare
In an attempt to process the review comments for this pull request, the following changes have been made:
Can you let me know if these changes address the review comments, or whether changes are required. |
566c5f7
to
ee6f2a2
Compare
The sequencenumber (formally called seqnum) has been removed from dds_sampleinfo_t, but is available via the serdata interface. The following (detailed) modifications were made:
|
0fd3bbb
to
01409cd
Compare
6872bd5
to
256f539
Compare
5f5c4cf
to
9070f77
Compare
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
…serdata Signed-off-by: TheFixer <[email protected]>
…at the sequence number can be retrieved from serdata Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
…ata to reader rhc Signed-off-by: TheFixer <[email protected]>
…to the rhc of a durable reader Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
… first participant is created Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
… is set to 0 (even though we might want to forbid it as an invalid configuration). Signed-off-by: TheFixer <[email protected]>
…termine if a quorum is reached Signed-off-by: TheFixer <[email protected]>
Signed-off-by: Michel van den Hoek <[email protected]>
Signed-off-by: TheFixer <[email protected]>
… dispose requests after a timeout expires Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
… is set to 0 (even though we might want to forbid it as an invalid configuration). Signed-off-by: TheFixer <[email protected]>
…termine if a quorum is reached Signed-off-by: TheFixer <[email protected]>
Signed-off-by: Michel van den Hoek <[email protected]>
Signed-off-by: TheFixer <[email protected]>
… dispose requests after a timeout expires Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: Michel van den Hoek <[email protected]>
…et (i.e., proxy set) Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
…eads to a dc to be aborted Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
…yet?) discovered Signed-off-by: TheFixer <[email protected]>
…ated octet sequences Signed-off-by: TheFixer <[email protected]>
… the quorum Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
…s no durable support yet Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
…ll together) Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
…er iso for a set Signed-off-by: TheFixer <[email protected]>
…ent a plugin. Signed-off-by: Michel van den Hoek <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
Signed-off-by: TheFixer <[email protected]>
I am building an application using CycloneDDS that requires (read only) access to the sequence numbers of samples that have been published. Because CycloneDDS currently does not provide such access, I experimented myself a bit.
This pull request adds an extra field to the dds_sample_info_t struct that exposes the sequence number of a sample. I am pretty sure there are different ways to do it, but this is at at least one way.
In case you agree that exposing sequence numbers of samples is a good idea, then this pull request might be something to consider. In that case let me know if you agree or disagree with the solution proposed in this pull request. I happy to rework the solution, just let me now.