Skip to content
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

Idea: Cleaner separation between read/write and object code - Request for comment #119

Closed
joequant opened this issue Jul 22, 2020 · 3 comments

Comments

@joequant
Copy link
Contributor

Looking over the code, it seems that the read/write code is very tightly combined with the object code, and this causes some issues refactoring the code. For example, in trying to prevent bad copies, we are running into conflicts with ROOT, but those conflicts have to do with reading/writing.

So one thing that I propose is to separate out reading and writing code from the core components. In particular it should be possible to read/write objects and compile podio on a system without root. Alternatively it should be possible to use podio for format translation (i.e. read in the objects in ASCII format and output it into Root).

Would like some feedback as to what people think. If people think this is a good idea, then I'd like to work on some patches to separate out reading/writing from object handling, since a lot of the other issues that I've been looking at would be easier to handle if there was a clean separation between writing/reading and object handling

@hegner
Copy link
Collaborator

hegner commented Jul 22, 2020

If it is highly coupled it is not by intention. In fact the idea was just to pass the pods around to the storage. And don't bother about how they are stored. Could you maybe in one meeting explain what you have in mind in concrete? Thanks :-)

@joequant
Copy link
Contributor Author

joequant commented Jul 22, 2020 via email

@tmadlener
Copy link
Collaborator

Completely decoupled I/O from in memory operations with introduction of the Frame in #287.
Additionally, some things were refactored to ease this in #197

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

No branches or pull requests

3 participants