-
Notifications
You must be signed in to change notification settings - Fork 179
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
[core] redesign publisher api #1858
Conversation
new eCAL::CPublisher with reduced API all tests and samples use new CPublisher all apps, lang bindings adapted to use old v5::CPublisher
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.
clang-tidy made some suggestions
There were too many comments to post at once. Showing the first 20 out of 23. Check the log or trigger a new build to see 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.
clang-tidy made some suggestions
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.
clang-tidy made some suggestions
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.
clang-tidy made some suggestions
…alue as well RemEventCallback -> RemoveEventCallback
removed test added again
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.
clang-tidy made some suggestions
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.
clang-tidy made some suggestions
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.
clang-tidy made some suggestions
Constructor handling (code duplicates)
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.
clang-tidy made some suggestions
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.
🫧
RemEventCallback -> RemoveEventCallback std::move(const callback) -> = callback check m_event_id_callback before creating callback structure
Description
Public API Updates
Namespace Changes:
eCAL::CPublisher
API has been moved to theeCAL::v5
namespace, explicitly targeting legacy eCAL version 5 applications. This ensures backward compatibility for existing systems still reliant on the older API.New API Introduction:
eCAL::CPublisher
class has been introduced under theeCAL::v6
namespace (default inline namespace).Key Differences Between
v5::CPublisher
andv6::CPublisher
Constructor Changes:
v6
, theCreate()
method has been removed. Publishers are fully initialized during construction.SDataTypeInformation
for specifying data type encoding and descriptor.PubEventIDCallbackT
for event callback registration during initialization.Destruction:
v6
,Destroy()
has been removed. Publishers are cleaned up automatically via the destructor.Send
Method Overhaul:v6
refines theSend
method:true
for success,false
for failure) instead of the number of bytes sent.CPayloadWriter
, andstd::string
.`Connect/Disconnect event handling:
Removed Functions:
SetAttribute
,ClearAttribute
, andSetID
were removed fromv6
as they were experimental or seldom used.IsCreated()
method is no longer necessary due to automatic resource management.AddEventCallback
andRemEventCallback
are replaced by an optional callback parameter in the constructor.Code Modernization
Resource Management:
std::shared_ptr<CPublisherImpl>
for robust and automated resource management.C++ Standards:
constexpr
constants andnoexcept
specifications have been added for improved performance and clarity.Impact