[Draft] Prototype TransportFrameData backend #938
[Draft] Prototype TransportFrameData backend #938X0708a wants to merge 1 commit intoAIDASoft:masterfrom
Conversation
|
From a quick glance this looks good from an interface point of view. It should be possible to construct a Frame with this, have you tried?
That is actually a good question to which I don't have a clear answer yet, resp. which will probably require some evaluation. Currently the situation is as follows:
So at least at the moment it looks taking ownership is necessary. |
|
Yes , I have verified that a podio::Frame can be constructed from TransportFrameData, and the standard lazy materialization path works as expected. |
Summary
This draft PR explores implementing a minimal
FrameDatabackend tovalidate whether frame-level transport can live at the
FrameDatalayerwithout modifying
Frameor existing writers.Scope
TransportFrameDataclass implementing the required interfacegetIDTable(),getCollectionBuffers(),getAvailableCollections(),getParameters()Out of scope
materialized collections as noted in Frame serialization/deserialization #565)
Relation to #565
This prototype is motivated by the discussion in #565 and the recent
suggestion that the reading side may already be solvable via arbitrary
FrameDataconstruction. This is an attempt to validate that boundary.Open question
Should
getCollectionBuffers()eventually own the Arrow/transport buffersdirectly, or should a separate buffer ownership layer sit between the
transport and
CollectionReadBuffers?Feedback welcome on the architectural direction before going further.