-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Trivial serialisation plugin mechanism #49475
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
Conversation
|
cms-bot internal usage |
|
A new Pull Request was created by @fwyzard for master. It involves the following packages:
The following packages do not have a category, yet: HeterogeneousCore/SerialisationCore @Dr15Jones, @civanch, @cmsbuild, @fwyzard, @jfernan2, @kpedro88, @makortel, @mandrenguyen, @mdhildreth, @smuzaffar, @srimanob can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
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 package be simply HeterogeneousCore/Serialisation ?
Or something more explicit ?
|
please test |
|
type ngt |
|
@ghyls FYI |
|
+1 Size: This PR adds an extra 100KB to repository Comparison SummarySummary:
|
63bc511 to
5c7cf7a
Compare
|
+1 Size: This PR adds an extra 84KB to repository Comparison SummarySummary:
|
|
+1 |
|
Comparison differences are related to #47071 |
|
+heterogeneous |
|
@cms-sw/simulation-l2 this is the last pending item for the next pre-release. Any chance you can take a look before the overnight IB? |
|
+simulation |
|
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @mandrenguyen, @ftenchini (and backports should be raised in the release meeting by the corresponding L2) |
|
+1 |
|
@fwyzard @makortel , fwlite builds are broken as some of the fwlite dataformat packages now see |
|
The |
I'd add the entire |
|
the package plugin directory uses |
|
In the core meeting on Tuesday we talked about ignoring the |
PR description:
Introduce
ngt::SerialiserFactory, a plugin-based trivial serialiser, and the serialisation plugins for allPortableHostCollection- andPortableHostObject-derived data formats.This relies on some new components:
ngt::AnyBuffer:ngt::AnyBufferbehaves likestd::any, with two differences: it can only be used with trivially copyable types, and provides access to the underlying memory buffer to allow memcpy'ing its content.ngt::MemoryCopyTraits<T>type traits. The structngt::MemoryCopyTraits<T>should be specialised for the types that can be safelymemcpy'ed.And is accompanied by various tests:
ngt::MemoryCopyTraits.ngt::SerialiserFactory.ngt::GenericCloner.The
ngt::GenericCloneris included to demonstrate how the new functionalities can be used, and to implement various integration tests. ThisEDProducerwill clone all the event products declared in its configuration, using either the plugin-based NGT trivial serialisation, or the products' ROOT dictionaries.PR tests:
The new unit tests pass.