-
Notifications
You must be signed in to change notification settings - Fork 791
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
DataReaderHistory [12400] #2363
Conversation
|
* Refs 12400. Duplicating SubscriberHistory into DataReaderHistory. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Using DataReaderHistory on DataReaderImpl. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Avoid using TopicAttributes. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Additional cleanup. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Using DDS SampleInfo. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12404. Uncrustify. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
* Refs 12400. Initial test infrastructure. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Additional tests. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Tests are run twice with a take in the middle. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Uncrustify. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12469. Fixed warnings. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12469. Additional comments. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
* Refs 12400. Added DataReaderCacheChange. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Added DataReaderInstance. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. DataReaderHistory using new types. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Removing unnecessary method from SubscriberHistory. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. ReadTakeCommand receives full instance information. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. ReadTakeCommand checks for instance states. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. ReadTakeCommand fills sample info from instance data. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Added insert method to ResourceLimitedVector. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. DataReaderInstance uses ResourceLimitedVector. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. get_first_untaken_info takes sample info from instance data. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Discard received change when older than oldest. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Fixing KEEP_ALL with keys. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Refactor to always use instances. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Basic structure for update instance state. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Adding alive_writers and current_owner to DataReaderInstance. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Implementing writer_alive. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Implementing writer_dispose. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Implementing writer_unregister. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Setting NOT_NEW on returned instances. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Correct return code when returning samples with no data. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Set view_state to NEW when changing instance_state to ALIVE. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Moving generation counts into CacheChange_t. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Assigning generation counts after processing instance state. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Update instance_state when writer becomes not alive. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Clear alive_writers when changing generation. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Add writer_unmatched to ReaderHistory. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. NOT_ALIVE_UNREGISTERED should not return valid data. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Set autodispose_unregistered_instances to false on test. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Remove instance when it becomes empty and is not alive. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Refactor into writer_not_alive. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Keeping samples from unmatched writers. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Avoid keeping non-notified samples. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12400. Linters. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Fixing compilation warnings on windows. Signed-off-by: Miguel Barro <miguelbarro@eprosima.com> * Refs 12758. Fixing assertion on WriterProxy logic. If we only notify fragmented DATA reception on completion we should only notify removal of fully assembled samples. Signed-off-by: Miguel Barro <miguelbarro@eprosima.com> * Refs 12758 Fixing DataReaderHistory test that checks DataWriter disposal behaviour. Signed-off-by: Miguel Barro <miguelbarro@eprosima.com> * Refs 12758. Use move semantics. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Use ResourceLimitedVector for writers. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Apply pre-allocation policies. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Uncrustify. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. PubSubReader. Account for writer_guid on last_seq checks. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Added can_change_be_added_nts. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Removed unused method. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Always use completed changes for key computation. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Fixed ResourceLimitedVector::insert. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Uncrustify. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Avoid dynamic allocation inside remove_changes_with_pred. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Optimization on DataReaderHistory::remove_change_nts. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Method writer_unmatched documented and improved. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Do not complete changes for non-keyed topics. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Do not remove incomplete changes for keyed topics. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Different removal policy on ReaderHistory and DataReaderHistory. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Fix unused parameter warning. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Removed unused header. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Doxydoc improvements. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs 12758. Linters. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> Co-authored-by: Miguel Barro <miguelbarro@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
d55da7c
to
9c3b929
Compare
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
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 with greenish CI
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
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.
👍
@richiprosima Please test windows |
@richiprosima Please test this |
I have reproduced all windows and linux test failures locally on master with |
This PR makes the DataReader use a new
DataReaderHistory
class with a correct implementation of instance_state and view_state.