Alexey Rybalchenko
2c2770204f
Fix missing session name resize if running without FairMQProgOptions
2018-01-24 14:36:52 +01:00
Alexey Rybalchenko
efdec0f6ba
FairMQProgOptions: initialize defaults in the constructor, not in ParseAll
2018-01-24 14:36:52 +01:00
Alexey Rybalchenko
778c8e16bb
Replace pstreams with Boost.Process
2018-01-23 18:35:09 +01:00
Alexey Rybalchenko
e462d6f597
Fix wrong argument order in file sink initialization
2018-01-17 14:41:35 +01:00
Alexey Rybalchenko
a91c481abf
remove custom timestamp stuff from logger wrapper
2018-01-16 22:53:26 +01:00
Alexey Rybalchenko
a3393e600e
convert log severities use to lowercase and remove use of MQLOG
2018-01-16 22:53:26 +01:00
Alexey Rybalchenko
4e942e489b
Single Logger implementation for FairLogger & FairMQLogger
2018-01-16 22:53:26 +01:00
Alexey Rybalchenko
d3e0b9fc97
Give ipc tests better address name
2018-01-13 07:49:08 +01:00
Alexey Rybalchenko
b59f1b950d
FairMQ: Add hint argument to the region callback, settable per message.
2017-12-18 12:53:58 +01:00
Alexey Rybalchenko
ba78964e29
FairMQ: add FairMQMessage::Copy(const FairMQMessage& msg), deprecate the old one.
2017-12-10 17:37:53 +01:00
Alexey Rybalchenko
e340a52bf2
Use FairMQ tools for string creation.
2017-12-10 17:37:53 +01:00
Alexey Rybalchenko
848ebf2ff3
FairMQ: Add test for setting used message size functionality
2017-12-10 17:37:53 +01:00
Alexey Rybalchenko
ea7ae3ded9
remove Get/SetMessage from interface (internal transport detail)
2017-12-10 17:37:53 +01:00
Alexey Rybalchenko
e5aa85b61d
FairMQ: Add functionality to set used message size
2017-12-10 17:37:53 +01:00
laphecet
ac4695b215
Missing explicit reference to lib boost_signals
2017-12-06 13:04:58 +01:00
Alexey Rybalchenko
fd19480a2e
FairMQ: Fix missing region acks if receiver doesn't call OnData & clean includes.
2017-11-30 13:56:06 +01:00
Dennis Klein
5c0178e882
FairMQ: Remove deprecated header <tools/FairMQTools.h>
2017-11-29 16:40:25 +01:00
Mohammad Al-Turany
b5e32403ea
correct typo in copyright section
2017-11-29 13:11:35 +01:00
Alexey Rybalchenko
b967de4a57
FairMQ: Fix session name modification shm transport.
2017-11-29 11:00:31 +01:00
Alexey Rybalchenko
0dc4000187
FairMQ: Add uuid generator to tools & let tests use it for session names.
2017-11-29 09:06:17 +01:00
Alexey Rybalchenko
85aab51bd4
FairMQ: Add test for example/advanced/Region.
...
Also fix a regression in nanomsg transport.
2017-11-29 09:06:17 +01:00
Alexey Rybalchenko
eddfd0d1bd
FairMQ: Introduce configurable session name per device.
...
Session name is given to each device via `--session`,
which must be synchronized from a higher level,
e.g. from start script or command & control entity.
2017-11-29 09:06:17 +01:00
Alexey Rybalchenko
58a312b730
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/
2017-11-29 09:06:17 +01:00
Dennis Klein
378c47c5e5
FairMQ: Implement config API for string subscriptions
...
This API auto converts property values to strings and allows a more
convenient one catches all subscription.
2017-11-17 16:24:29 +01:00
Dennis Klein
80332583ee
FairMQ: Add state subscription to DDS plugin
2017-11-17 16:24:29 +01:00
Dennis Klein
56c0b2fd2b
FairMQ: Add heartbeats to DDS plugin
2017-11-17 16:24:29 +01:00
Matthias Richter
72cdd1e3d7
using steady_clock instead of system_clock
2017-11-17 16:23:38 +01:00
Matthias Richter
4351f3df0d
adding missing variable initialisation in second constructor
2017-11-17 16:23:38 +01:00
Matthias Richter
2a134b9206
Changing '--rate' option to type float, remove stringstream from argument scan
...
This correction to the previous commit leaves the <sstream> header in, because
std::stringstream has been using already before and the header was missing.
2017-11-17 16:23:38 +01:00
Matthias Richter
9b2b1cf9f1
Adding rate control for ConditionalRun function
...
Devices implementing the conditional run method are typically source
devices and a rate control can be desireable. New option '--rate' with
a float number argument in Hz can be used to configure rate control.
By default it is switched off.
2017-11-17 16:23:38 +01:00
Dennis Klein
7429f7a326
FairMQ: Add dump-config functionality to DDS plugin
2017-11-01 15:32:35 +01:00
Dennis Klein
511141c851
FairMQ: Install DDS plugin
2017-11-01 15:32:17 +01:00
Dennis Klein
ba5d40fd71
FairMQ: Fix visibility of include dirs of DDS plugin targets
2017-11-01 15:32:17 +01:00
Dennis Klein
864a41502f
FairMQ: Support the case with multiple default routes
2017-11-01 15:32:17 +01:00
Alexey Rybalchenko
0bb866ff36
FairMQ: shared memory unmanaged region updates:
...
- use same mapping for sender/receiver (created/remote) region.
- rename FairMQRegion -> FairMQUnmanagedRegion.
2017-10-20 14:17:15 +02:00
Alexey Rybalchenko
f7d3a5e8ae
FairMQ: fix shm transport placement new alignment issue
2017-10-18 21:15:14 +02:00
Alexey Rybalchenko
f277db2354
FairMQ: shm region & monitor bugfixes
2017-10-17 21:31:12 +02:00
Alexey Rybalchenko
aa8d16ff9a
Move shmem prototype out of MQ examples
2017-10-16 09:49:38 +02:00
Dennis Klein
b7d97f6306
FairMQ: Support Apple Compiler 8.0
...
In fact, this commit will workaround a bug with template alias compilation
from Clang 3.4 to Clang 3.8.
2017-10-12 12:16:50 +02:00
Dennis Klein
b63e2ee153
Remove outdated build flag -Weffc++
2017-10-10 17:17:05 +02:00
Alexey Rybalchenko
fb0996268a
Fix coverity issues - unchecked return val, uncaught excepts
2017-10-10 17:15:14 +02:00
Dennis Klein
896a8d6b7f
FairMQ: Revert regression introduced by f1513f5169d335c17ccdfdb27f0f0c4edbeb8b65
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
e3cb1dd9e5
FairMQ: remove runSimpleMQStateMachine (now via control plugin).
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
d175a732a6
FairMQ: fix const qualifier for DeviceRunner
2017-10-05 15:32:12 +02:00
Dennis Klein
1bc5771bf3
Fix compilation for GCC 4.9.2
2017-10-05 15:32:12 +02:00
Dennis Klein
4ae2e025c9
FairMQ: Implement DeviceRunner
2017-10-05 15:32:12 +02:00
Dennis Klein
7f23a70670
FairMQ: Implement property change event config API
...
Replaced the old event manager implementation, which changed the
subscription semantics to bulk event subscriptions.
2017-10-05 15:32:12 +02:00
Dennis Klein
8c8ee45914
FairMQ: Implement GetPropertyKeys config API
2017-10-05 15:32:12 +02:00
Dennis Klein
2589ca5ced
FairMQ: Rewrite the state machine
...
* Simplify the code
* Drop Boost.MSM dependency
* Drop threaded execution
* Support deferred state changes
* Monitor state changes/queues via callbacks
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
179968db1e
Remove FairMQConfigurable
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
26cfe69b41
Revert refactoring that releases lock too early.
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
6d7009b331
Refactor FairMQLogger
2017-10-05 15:32:12 +02:00
Dennis Klein
6ecd0e9085
FairMQ: Rewrite event manager to support multiple subscribers
2017-10-05 15:32:12 +02:00
Dennis Klein
88b3b8ef18
FairMQ: Make sure --catch-signals is always handled
2017-10-05 15:32:12 +02:00
Dennis Klein
fd08167a4c
FairMQ: Print Entering STATE log lines when user perceived state begins.
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
e37e559dce
Fix warnings and remove deleted file from installation.
2017-10-05 15:32:12 +02:00
Dennis Klein
44a59f25a7
FairMQ: Move --catch-signals logic to control plugin
...
* Add StealDeviceControl() API to plugin services
2017-10-05 15:32:12 +02:00
Dennis Klein
7dcd09692c
FairMQ: Move static and interactive control modes to plugin (3)
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
01327426c3
Port DDS plugin to the new plugin system.
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
2db114bc5c
Eliminate warnings in FairLink and FairMQ Plugins.
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
f6365d013e
Refactor state machine.
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
70e46a0b86
Cleanup base/MQ.
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
334b91785b
FairMQ: Move static and interactive control modes to plugin (2)
2017-10-05 15:32:12 +02:00
Dennis Klein
10f67e4c72
FairMQ: Move static and interactive control modes to plugin
...
NOT YET FINISHED
2017-10-05 15:32:12 +02:00
Dennis Klein
2af3ae99eb
FairMQ: Implement Take/ReleaseDeviceControl plugin API
...
The main function of this API is to make sure only one plugin is
controlling the device state transitions at a time. The
ReleaseDeviceControl() signal is used to implement a function
WaitForPluginsToReleaseDeviceControl() which is used to block the main
thread if a control plugin is used.
2017-10-05 15:32:12 +02:00
Dennis Klein
dfb2bac4bc
FairMQ: Add test coverage for PluginServices
2017-10-05 15:32:12 +02:00
Dennis Klein
052ac8487d
FairMQ: Add static plugin mechanism
...
* Add skeleton for Take/ReleaseControl API
* Add skeleton for control_static builtin plugin
2017-10-05 15:32:12 +02:00
Alexey Rybalchenko
17d7cd8ce4
Fix name conflict with FairLogger+FairMQStateMachine
2017-10-04 13:54:44 +02:00
Alexey Rybalchenko
6349438829
Run InitTask in the worker thread (same as all other state handlers).
2017-09-07 14:22:50 +02:00
Alexey Rybalchenko
bfb9feab03
Update shared memory transport documentation.
2017-09-04 16:33:55 +02:00
Alexey Rybalchenko
09e45e27ab
Add introspection docs.
2017-09-04 16:33:55 +02:00
Alexey Rybalchenko
7b37eaa507
Revert the parser changes.
2017-09-04 16:33:39 +02:00
Alexey Rybalchenko
5e44273531
Add docs for common devices
2017-08-30 08:38:00 +02:00
Alexey Rybalchenko
9be5a20df6
Add doxygen comment about state handlers running in worker thread
2017-08-30 08:38:00 +02:00
Alexey Rybalchenko
3ab7ee5f02
FairMQParser: Disable deprecated parsing for singular JSON keys
2017-08-30 08:38:00 +02:00
Alexey Rybalchenko
4c7f119ce8
Configuration docs
2017-08-30 08:38:00 +02:00
Alexey Rybalchenko
4dd08051cc
simplify state change callback handling
2017-08-30 08:38:00 +02:00
Alexey Rybalchenko
eeb994a584
Tests for MQ examples
2017-08-28 10:53:41 +02:00
Alexey Rybalchenko
221d2567f0
FairMQRegion and examples/advanced/Region
2017-08-08 14:18:10 +02:00
Alexey Rybalchenko
65f1b96dc3
Add Version member to FairMQDevice, settable via constructor
2017-07-17 13:25:16 +02:00
Alexey Rybalchenko
3d8175bfd6
base/MQ and Lmd example cleanup
2017-07-04 15:59:36 +02:00
Alexey Rybalchenko
6f18cf23da
Merge channels from config to device, instead of replace
2017-07-04 07:13:01 +02:00
Dennis Klein
a26925cbf5
FairMQ: Fix various errors from CI
...
* move Plugins::Version to fair::mq::tools
* fix Parser interface
* make device a shared pointer in main
* provide std::hash template specialization
* fix FairMQ.Plugins/FairMQ.PluginsStatic when run with ctest
* fix MQ/serialization example
* add --no-as-needed flag
* GCC 4 does not support member refs, move to pointer types
2017-07-04 07:05:11 +02:00
Dennis Klein
ad0f050c99
FairMQ: Implement PluginServices - Config
2017-07-04 07:05:11 +02:00
Dennis Klein
739460b2fe
FairMQ: Implement PluginServices - Control
2017-07-04 07:05:11 +02:00
Dennis Klein
9b61b924b2
FairMQ: Integration of Plugins through PluginServices
2017-07-04 07:05:11 +02:00
Dennis Klein
60d929b0bd
FairMQ: Add plugin mechanism (Plugin and PluginManager classes)
2017-07-04 07:05:11 +02:00
Alexey Rybalchenko
ac69607250
make FairProgOptions calls thread safe
2017-07-04 07:05:11 +02:00
Alexey Rybalchenko
b47cc8b29c
add callback on state change
2017-07-04 07:05:11 +02:00
Alexey Rybalchenko
b311b0c6da
FairMQLogger: undefine DEBUG if it has been previously defined
2017-06-26 16:35:58 +02:00
Alexey Rybalchenko
035d5fb353
Provide accessors for device members that are part of publiv API
2017-06-23 11:45:46 +02:00
Alexey Rybalchenko
92cae6f9a4
FairMQProxy: remove outdated code
2017-06-23 11:45:46 +02:00
Alexey Rybalchenko
a60fac80d9
FairMQProgOptions: add a method to check key existence
2017-06-23 11:45:46 +02:00
Alexey Rybalchenko
4bc54ad32b
add --print-channels
to print registered channels of the device
2017-06-23 11:45:46 +02:00
Alexey Rybalchenko
1d38a2350f
add --print-options
to print available options in short format
2017-06-23 11:45:46 +02:00
Alexey Rybalchenko
cae3fd6aa3
Catch any exception type in the main of runFairMQDevice.h
2017-06-23 11:36:20 +02:00
Dennis Klein
25a75c1f82
add channel, poller and testing docs
2017-06-04 01:14:10 +02:00
Alexey Rybalchenko
5e2926e0da
FairMQShmMonitor docs
2017-06-04 01:12:30 +02:00
Alexey Rybalchenko
f05ed326a6
Update FairMQShmMonitor
2017-06-04 01:12:30 +02:00
Alexey Rybalchenko
764514a35a
Test devices without config & two in a process
2017-06-04 01:06:12 +02:00