Commit Graph

838 Commits

Author SHA1 Message Date
Alexey Rybalchenko
bbadf09aad 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 16:12:57 +02:00
Alexey Rybalchenko
1bb72fea38 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 16:12:57 +02:00
Alexey Rybalchenko
7ab6afa28a 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 16:12:57 +02:00
Alexey Rybalchenko
71ecbe214d 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 16:12:57 +02:00
Alexey Rybalchenko
c9c881c33c Extend DDS Example to use command interface 2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
837e035457 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 16:12:57 +02:00
Alexey Rybalchenko
f0a878a43a Rename /example to /examples and move MQ examples in it 2018-05-02 16:12:57 +02:00
Mohammad Al-Turany
736d61830c small corrections 2018-05-02 16:12:36 +02:00
Dennis Klein
33edd53f69 Improve README 2018-05-02 16:12:36 +02:00
Dennis Klein
4366d924dd Add nightly build pipeline 2018-05-02 16:12:25 +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+ v1.1.7 2018-04-25 16:50:14 +02:00
Dennis Klein
55917adc44 Do not replace, but prepend v1.1.6 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 v1.1.5 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 v1.1.4 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 v1.1.3 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 v1.1.2 2018-04-18 01:42:04 +02:00
Dennis Klein
00f1b56137 Export correct include dir v1.1.1 2018-04-18 00:18:39 +02:00
Dennis Klein
5c6be09e58 Update v1.1.0 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 v1.0.0 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 v0.0.42 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