Commit Graph

540 Commits

Author SHA1 Message Date
Alexey Rybalchenko
f99c4e3efa prefix general executables with 'fairmq-' 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
9248aaaa9c Use PROJECT_INSTALL_DATADIR for config files 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
bcc38b03c5 Update example READMEs 2018-05-02 13:51:55 +02:00
Dennis Klein
ae0fa58acd Fix typo 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
7aefa0eeb8 Refactor the examples after move from FairRoot 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
71b2981526 try full output for tests 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
b3292252bf convert log severities use to lowercase and remove use of MQLOG 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
6d97b86d37 Single Logger implementation for FairLogger & FairMQLogger 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
5e99fa2eab FairMQ: Add hint argument to the region callback, settable per message. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
044453ca96 Use new Copy API in MQ example 4 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
30a7c163c8 Disable irrelevant output in tests to workaround output scrambling on MacOS 10.11 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
107ae0c5c2 Disable irrelevant test output (to workaround output scrambling) 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
efebda8135 FairMQ: Fix missing region acks if receiver doesn't call OnData & clean includes. 2018-05-02 13:51:55 +02:00
Mohammad Al-Turany
4e1cd9903b correct typo in copyright section 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
76017e2148 FairMQ: Add uuid generator to tools & let tests use it for session names. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
5b091f7eec FairMQ: Add test for example/advanced/Region.
Also fix a regression in nanomsg transport.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
15479a58d1 FairMQ: Introduce callbacks for the FairMQUnmanagedRegion.
Callbacks are called when the data buffer of the message assiciated
with the corresponding region is no longer needed by the transport.
Example in examples/advanced/Region/
2018-05-02 13:51:55 +02:00
Dennis Klein
6eddf50a47 Update ex3/MQ/3-dds readme 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
773fc8633d FairMQ: shared memory unmanaged region updates:
- use same mapping for sender/receiver (created/remote) region.
 - rename FairMQRegion -> FairMQUnmanagedRegion.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
71894e50b8 Fix MQ example 6 condition 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
80a0e9dc0e Port DDS plugin to the new plugin system. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
095c124ca8 Eliminate warnings in FairLink and FairMQ Plugins. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
449d28217d Clean shmem before running the multi-transport test. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
bd8be1436e Tests for MQ examples 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
f6ee1cdf57 FairMQRegion and examples/advanced/Region 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
ae4e474261 Update DDS example to new DDS APIs 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
6e73615d69 Add NewPoller() wrapper. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
3397fb4a33 Refactor the transport interface
- give transport Initialize() method with access to device config.
 - avoid using global context in the transport.
 - simplify shutdown procedure (no need for extra thread).
2018-05-02 13:51:55 +02:00
Dennis Klein
d7de376747 refactor and integrate with aliBuild/alienv
* accept ZEROMQ_ROOT as env or cmake variable to hint at install
    location (used by aliBuild/alienv)
  * added more docs
  * fixed mismatch between module name ZeroMQ and prefix of
    generated variables ZMQ -> ZeroMQ is now the preferred prefix
    (old variables are still available and marked deprecated)
  * the aliBuild zeromq recipe does not install zmq.hpp header,
    so the module searches now for the zmq.h header
    (which is anyways the only one we use)
  * some cosmetic changes
  * add option ZeroMQ_NO_DEPRECATION to suppress deprecation warning
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
227c0b4e4e Adding multiple transports support & other fixes:
- Avoid polling when only one input channel is used.
 - Send only handles for shared memory transport.
 - Avoid waiting in the rate logger thread when nothing to log.
 - Hide warnings from generated files
 - Fix #483
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
38fc2332e2 First version of the shared memory transport.
Use via `--transport shmem` cmd option. No pub/sub.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
27b2243362 Convert factory methods to return smart ptrs
- Convert factory methods to return smart ptrs.
 - Refactor state machine to use same thread for user states.
 - Remove unused includes and dependencies, use std.
2018-05-02 13:51:55 +02:00
mkrzewic
92779e7392 Update MQ example 8 to use multiple endpoints 2018-05-02 13:51:55 +02:00
Sebastien Binet
ce47c92d8c all: apply fer-json-fmt 2018-05-02 13:51:55 +02:00
Sebastien Binet
8f7a584ad0 all: use strict(er) and more regular JSON schema 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
626ebdd298 Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
f18c6e50e2 Move config & control DDS functionality into plugins. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
a1424e13fb Enable new callback API
- OnData() channel data handler.
 - ConditionalRun() for devices without incoming data.
 - Header file with common main(), to be extended with getDevice/addCustomOptions.
 - Update examples (MQ/Tutorial3) to use the new API and config.
 - NewSimpleMessage() for simpler creation of small messages (additional copy).
 - Replace SetProperty/GetProperty with fConfig access.
 - Runtime configurable channel names for common devices.
 - Configurable logging interval per channel.
 - FairMQMultiplier for distributing same data to multiple outputs.
 - Cleanup state machine messages.
 - Cmd option to toggle signal handling.
 - Simpler API for send/receive timeouts.
 - Enable --log-to-file.
 - Fix coverity issues, warnings.
 - Various code cleanup and minor tweaks.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
a01c4368b7 Fix unused variables, init order and effc++ warnings. 2018-05-02 13:51:55 +02:00
Radoslaw Karabowicz
e88f0de620 Modified the ROOTMacros.cmake to allow GENERATE_EXECUTABLE()
to install executables in directory set by BIN_DESTINATION (or in bin/ if not set).

Changed the location of the executables:
- from build/bin/ to build/bin/examples/example-name/
- from install/bin/ to install/examples/example-name/bin/
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
4edc9221d7 Refactor DDS example and tools to be able to run with/without DDS 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
da43fa6f59 Remove redundant state change call and revert the termination handler. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
6c49a89868 Let ParseAll exit if unsuccessfull 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
1d2d409bfd Cleanup examples 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
6c88e75ed7 Cleanup example include directories 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
b8c3013ac5 Fix the logger conflict issue 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
86ae4c2da1 Configuration and DDS example/tools updates
- Update DDS example command UI and extract it from example.
 - Unify address handling via DDS properties for dynamic deployment.
 - Update DDS docs with the new approach.
 - Allow `--config-key` to be used to access common config in JSON.
 - Allow common channel properties to be specified for all sockets.
 - Update MQ examples and Tuto3 with new config options.
 - Add start scripts to MQ examples for easier use.
2018-05-02 13:51:55 +02:00
winckler
9a6e7f7aaf enable object array parsing in JSON parser for devices, channels, and sockets.
device, channel, and socket are parsed as before
2018-05-02 13:51:55 +02:00
winckler
b2c97b8f95 add deleter in FairMQ example 8 2018-05-02 13:51:55 +02:00
winckler
e1d4aa40c8 change serialization API so that it takes a FairMQMessage reference 2018-05-02 13:51:55 +02:00