-
Notifications
You must be signed in to change notification settings - Fork 433
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
Development of the generic format API #110
Conversation
The update concludes the discussion in the CWG4 meeting
Introducing template parameters for the header message and the payload message. Correcting some typos.
The test is to first extend a compilation check and can be later extended to a unit test
Creating new module 'DataFormats' on top level. The recent development regarding data formats goes into DataFormats/Generic.
The original header definition has served as basis for the discussion, the final definition has been developed elsewhere and is soon to be merged. The very early definition is temporarily kept for the unit test.
Hi Matthias,
|
Hi Mohammad, I have pushed a fix to my dev branch and it looks like it automatically appears in the PR (cool ;-). Could you please try again. Ciao |
Hi Matthias, Still crashing on MAC,
|
Hi Matthias, it crashes in the line:
|
When using clang, writing to output stream caused segmentation violation because the stream object was not returned by the operator which has been used just before. Adding also some other return statements (though irrelevant for the crash). Crash log * thread #1: tid = 0x597d9, 0x0000000100001f7f testMessageList`void print_list<AliceO2::Format::messageList<TestMsg, SimpleHeader_t> >(list=<unavailable>, hdrsel=<unavailable>) + 191 at testMessageList.cxx:77, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) frame #0: 0x0000000100001f7f testMessageList`void print_list<AliceO2::Format::messageList<TestMsg, SimpleHeader_t> >(list=<unavailable>, hdrsel=<unavailable>) + 191 at testMessageList.cxx:77 74 it != list.end(); 75 ++it) { 76 // the iterator defines a conversion operator to the header type -> 77 std::cout << static_cast<typename ListType::header_type>(it) << std::end; 78 // dereferencing of the iterator gives the payload 79 std::cout << *it << std::end; 80 }
Hi Mohammad, Ciao |
Hi Matthias, |
Hi Mohammad, Cheers |
I have collapsed my development of a mockup for the format API, the final data header is not part of this development but is in the fork of @mkrzwic . We will soon merge it.