Commit Graph

486 Commits

Author SHA1 Message Date
Florian Uhlig
54ff30f055 Fix compiler warnings.
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.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
e3cf68331a FairMQ: Extend Multipart and messaging API
- 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.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
1c710e22f5 Add FlatBuffers & MessagePack examples
- 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
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
daf6856ce5 Remove compile time transport interface switch
- 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.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
8825817a42 Add a acknowledgement channel to Tutorial 3...
- ...to measure performance of the serialization libraries.
  - Rename `--log-color-format` cmd option to `--log-color`.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
90f0e3cb78 Extend DDS Example to use command interface 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
7744d8bc91 Update device configuration
- Move general config files out of example directory to fairmq/run.
 - Use FairMQProgOptions for MQ example 5.
 - Add SendPartAsync() for non-blocking send of a message part.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
9625268c50 Rename /example to /examples and move MQ examples in it 2018-05-02 13:51:55 +02:00
Dennis Klein
951ed1b739 Tweak configure options a bit more 2018-05-02 13:49:36 +02:00
Dennis Klein
19224d3cec Add configure options 2018-05-02 13:49:36 +02:00
Dennis Klein
8285038ee8 Fix label 2018-05-02 13:49:36 +02:00
Dennis Klein
32fc60656b Add CI jobs
Resolves #12
2018-05-02 13:49:36 +02:00
Dennis Klein
1a0140b3a9
Alias targets for imported targets are only supported from CMake 3.11+ 2018-04-25 16:50:14 +02:00
Dennis Klein
55917adc44
Do not replace, but prepend 2018-04-23 18:19:07 +02:00
Dennis Klein
7bb4b0625e
Depend on ZeroMQ via CMake package 2018-04-23 17:38:47 +02:00
Dennis Klein
96e326cf3c
Check upper bound of CXX_STANDARD and always disable extensions 2018-04-23 16:54:20 +02:00
Dennis Klein
884e071757
Help github detect our license 2018-04-23 16:47:50 +02:00
Dennis Klein
74602075f5
Add PREFIX column to summary
Resolves #11
2018-04-23 11:39:44 +02:00
Dennis Klein
930d5f15d1
Apply conventional naming rules 2018-04-23 11:38:19 +02:00
Dennis Klein
1d3f4c24fa
Require fi_verbs component 2018-04-23 11:37:26 +02:00
Dennis Klein
8e181b1e2e
Bump min FairLogger version 2018-04-23 11:36:02 +02:00
Dennis Klein
ff9618765f
Always build multipart support in nanomsg transport 2018-04-22 19:53:39 +02:00
Dennis Klein
219487d489
Enable RUNPATH entries 2018-04-20 19:28:05 +02:00
Dennis Klein
debc23b98b
Set relative install RPATH 2018-04-20 18:30:49 +02:00
Dennis Klein
7ba85c8a2b
Do not install libs in its own directory 2018-04-19 19:47:55 +02:00
Dennis Klein
0581a67a31
Export CXX standard config 2018-04-18 15:58:23 +02:00
Dennis Klein
6a11639db8
Remove version constraint from CMake package 2018-04-18 15:49:00 +02:00
Dennis Klein
29f5ed006a
Enable install RPATH 2018-04-18 02:26:06 +02:00
Dennis Klein
a01aac4467
Add library versioning 2018-04-18 02:25:44 +02:00
Dennis Klein
d98207b475
Install uuidGen 2018-04-18 01:42:04 +02:00
Dennis Klein
00f1b56137
Export correct include dir 2018-04-18 00:18:39 +02:00
Dennis Klein
5c6be09e58
Update 2018-04-17 20:57:52 +02:00
Dennis Klein
f2a753e1bd
Support package components and drop transitive dependency discovery 2018-04-17 20:24:15 +02:00
Dennis Klein
c6ea5a5631
Fix build of protobuf sources 2018-04-17 20:22:53 +02:00
Dennis Klein
b9651437c3
Improve summary and implement find_package2 2018-04-16 20:32:44 +02:00
Dennis Klein
83315b2951
Generate package dependencies
and install Version.h.
2018-04-16 01:36:51 +02:00
Dennis Klein
bafed1b224
Update 2018-04-15 18:36:16 +02:00
Dennis Klein
5e39011a5b
Fix build 2018-04-15 18:04:52 +02:00
Dennis Klein
2327fd2115
Move test directory one up 2018-04-12 17:46:18 +02:00
Dennis Klein
33fffb1644
Update README 2018-04-10 19:58:30 +02:00
Dennis Klein
c98cef8270
Add CMake project 2018-04-10 19:47:30 +02:00
Dennis Klein
c0ebd58ee3
Update README 2018-04-10 18:52:57 +02:00
Dennis Klein
ff16a28686 FairMQ: Fix regression bug introduced with PR#728 2018-03-28 09:04:30 +02:00
Dennis Klein
548ef4e617 FairMQ: For some reason the definition does not work, drop it 2018-03-26 13:58:20 +02:00
Dennis Klein
2a606ee8de FairMQ: Fix issues from rebase 2018-03-26 13:58:20 +02:00
Dennis Klein
08581e49e1 Add BUILD_OFI_TRANSPORT build switch, default OFF 2018-03-26 13:58:20 +02:00
Dennis Klein
727b76bb1d FairMQ: Fix unit test on GCC 4.9 2018-03-26 13:58:20 +02:00
Dennis Klein
697c440aa0 FairMQ: Switch to verbs:ofi_rxm provider
RDM endpoints seem buggy on pure verbs provider. Switch on RDM emulator
for now.
2018-03-26 13:58:20 +02:00
Dennis Klein
811fe50a48 FairMQ: Enable ofi/verbs provider 2018-03-26 13:58:20 +02:00
Dennis Klein
c113e4c951 FairMQ: Disable control socket timeouts for now 2018-03-26 13:58:20 +02:00