Initialize all data members in initializer lists.
Reorder data members in initializer list to have the same order as in the class declaration.
Comment or remove unused parameters and unused variables.
Convert all old style casts to the correct and explicit c++ cast like const_cast, static_cast,
dynamic_cast or reinterpret_cast. In most cases static_cast is used.
- Extend the multipart API to allow sending vectors of messages or helper
thin wrapper FairMQParts. See example in examples/MQ/8-multipart.
- NewMessage() can be used in devices instead of
fTransportFactory->CreateMessage().
Possible arguments remain unchanged (no args, size or data+size).
- Send()/Receive() methods can be used in devices instead of
fChannels.at("chan").at(i).Send()/Receive():
Send(msg, "chan", i = 0), Receive(msg, "chan", i = 0).
- Use the new methods in MQ examples and tests.
- No breaking changes, but FAIRMQ_INTERFACE_VERSION is incremented to 3
to allow to check for new methods.
- Add FlatBuffers serialization example to Tutorial 3
- Add MessagePack serialization example to Tutorial 3
- Performance improvements in Boost serialization example
- Use `GetEntriesFast()` for FairTestDetectorRecoTask
- Use `Clear()` instead of `Delete()` in MQ parts of Tutorial 3
- Fix CMake variables from preventing compilation without nanomsg.
- create macro/data directories in install directory
- Get rid of data duplication in fill_parameters.C
- Various cleanups and fixes
- Remove the compile time check of the transport implementation.
The transport (zeromq/nanomsg) can be chosen at run time with:
`device.SetTransport("zeromq"); // possible values are "zeromq" and "nanomsg"`.
For devices that use FairMQProgOptions, the transport can be configured via cmd option:
`--transport zeromq` or `--transport nanomsg`. Default values is "zeromq".
The device receives the configured value with:
`device.SetTransport(config.GetValue<std::string>("transport"));`
Old method of setting transport still works. But the NANOMSG constant is not defined.
- Remove old `fairmq/prototest` directory. It was only used as a test for protobuf.
The protobuf part of Tutorial3 does the same (with different values).
- Fix a bug in FairMQPollerNN, where the `revents` value was not initialized.
This caused the `poller->CheckOutput()` to trigger when it should not.
- Rename Tutorial3 MQ files for uniform naming.
- Add search for dylib in FindDDS.cmake (OSX).
- Add more detail to the DDS example readme.
- MQ Example 3 (DDS): choose network interface via command line option.
- Give FairMQ examples their own CMakeLists.txt for clarity.
- Remove C++11 checks in Tutorial3 from the code (they are now in CMake).
- Add Serializer for device properties (FairMQDevice::ListProperties()).