Skip to content

Conversation

@KerstinKeller
Copy link
Contributor

Why

In eCAL 5, publishers and subscribers could assign Data IDs via SetId(). This allowed users to optimize data flow by routing or discarding messages based on those IDs.

In eCAL 6, the API no longer supports this mechanism. Filtering can instead be implemented directly in subscriber callbacks, and topic names provide a clearer, more consistent way to differentiate data.

Keeping the Data ID code paths around only added complexity:

  • It was still exposed through the legacy v5 subscriber API.
  • It remained accessible in the old Python binding.
  • It cluttered message schemas and internal logic without offering real value in the v6 architecture.

This PR removes all internal functionality related to Data IDs, simplifying the codebase and aligning with the eCAL 6 design. It doesn't remove the old API however.

What’s changed

  • Removed Data ID handling from publishers, subscribers, and monitoring tools.
  • Removed the data_id field from topic.proto (breaking change).
  • Deleted legacy support in the old v5 subscriber API and Python binding.
  • Cleaned up related tests, UI labels, and monitoring code paths.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

}

size_t CSHMReaderLayer::OnNewShmFileContent(const Payload::TopicInfo& topic_info_, const char* buf_, size_t len_, long long id_, long long clock_, long long time_, size_t hash_)
size_t CSHMReaderLayer::OnNewShmFileContent(const Payload::TopicInfo& topic_info_, const char* buf_, size_t len_, long long clock_, long long time_, size_t hash_)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: method 'OnNewShmFileContent' can be made static [readability-convert-member-functions-to-static]

ecal/core/src/readwrite/shm/ecal_reader_shm.h:52:

-     size_t OnNewShmFileContent(const Payload::TopicInfo& topic_info_, const char* buf_, size_t len_, long long clock_, long long time_, size_t hash_);
+     static size_t OnNewShmFileContent(const Payload::TopicInfo& topic_info_, const char* buf_, size_t len_, long long clock_, long long time_, size_t hash_);

// send content via data writer layer
const long long write_time = (time_ == DEFAULT_TIME_ARGUMENT) ? eCAL::Time::GetMicroSeconds() : time_;
const size_t written_bytes = m_publisher_impl->Write(payload_, write_time, m_filter_id);
const size_t written_bytes = m_publisher_impl->Write(payload_, write_time);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: implicit conversion 'bool' -> 'const size_t' (aka 'const unsigned long') [readability-implicit-bool-conversion]

Suggested change
const size_t written_bytes = m_publisher_impl->Write(payload_, write_time);
const size_t written_bytes = static_cast<const size_t>(m_publisher_impl->Write(payload_, write_time));

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants