Alexey Rybalchenko
9544d9665b
DDS plugin: Prefix channel properties
2019-09-18 18:06:46 +02:00
Dennis Klein
8a2c7fb601
DDS plugin: Wait for IDLE->EXITING state-change to be acknowledged
...
Sometimes devices shut down too fast when entering the EXITING state so
that the publication of that state-change will never be sent. The plugin
now waits for an acknowledgement by the external controller with a
configurable timeout.
2019-09-04 21:17:35 +02:00
Alexey Rybalchenko
7f0237d97d
Example.DDS: Support DDS 2.5.25+ CLI
2019-08-13 20:04:05 +02:00
Alexey Rybalchenko
2fc93994d1
Execute test for DDS example only if DDS was found
2019-08-12 16:22:39 +02:00
Dennis Klein
7316b0e7f2
Example.DDS: Run example as unit test
...
Part of #185
2019-07-29 09:22:02 +02:00
Dennis Klein
1fa82f5f22
Example.DDS: Make example topologies pass xml validation
2019-07-29 09:22:02 +02:00
Dennis Klein
1bb77bf47b
DDS plugin: Automatically set session and device id if not provided
...
Resolves #187
2019-07-29 09:22:02 +02:00
Dennis Klein
93eb599df7
Example.DDS: Install new example topology
2019-07-26 14:55:32 +02:00
Dennis Klein
6c07920fc6
DDS plugin: Adapt command ui to changes in DDS plugin
...
* Add COMPLETE INIT support
* Add -n option, shall be replaced with inspecting DDS topo spec in the
future
* Update DDS example to work again
2019-07-26 14:55:32 +02:00
Dennis Klein
ce1f507a24
Example.DDS: Add topology that runs infinitely
2019-07-26 14:55:32 +02:00
Dennis Klein
de4fca177e
SDK: Require DDS 2.5.20
...
* Use the new interface: CTopology::getName
* Enhance Example.DDS
2019-07-24 10:28:32 +02:00
Alexey Rybalchenko
cf26dd6aa7
Testing the double subscription
2019-07-23 16:08:15 +02:00
Dennis Klein
18dc536f3d
(WIP) SDK: Implement Topology::ChangeState
2019-07-23 16:08:15 +02:00
Dennis Klein
2c4a6674d2
Example.DDS: Add option to switch DDS RMS plugin
2019-07-19 14:45:27 +02:00
Dennis Klein
7002dcbca3
Example.DDS: Fix support for ssh rms plugin
2019-07-19 14:45:27 +02:00
Dennis Klein
790de84bbc
Example.DDS: reachable attribute is true by default
2019-07-19 14:45:27 +02:00
Alexey Rybalchenko
e3d39f39f2
Don't use absolute paths in dds example
2019-07-19 14:45:27 +02:00
Alexey Rybalchenko
8bb6a9518a
Use TransitionTo in Plugins
2019-07-19 14:45:27 +02:00
Alexey Rybalchenko
07f7142ae2
Rebased, cleaned up
2019-07-19 14:45:27 +02:00
Dennis Klein
ff581985f3
Example.DDS: Remove sleep to speed up testing
2019-07-19 14:45:27 +02:00
Dennis Klein
5e8a442342
Example.DDS: Fix typo
2019-07-19 14:45:27 +02:00
Dennis Klein
7c185ac4a5
Search plugins in system directories and LD_LIBRARY_PATH
...
Fixes #133
2019-07-19 14:45:27 +02:00
Dennis Klein
a60edc43dc
Fix -Winconsistent-missing-override
2019-07-19 14:45:27 +02:00
Dennis Klein
d4f96db69c
Example.DDS: Add start script
2019-07-19 14:45:27 +02:00
Dennis Klein
b53691c8ad
Add -i option as exit condition
...
After -i# iterations sampler and sink will exit RUNNING state.
2019-07-19 14:45:27 +02:00
Alexey Rybalchenko
cba6d19781
Add config plugin class.
2019-07-10 19:35:18 +02:00
Alexey Rybalchenko
0e35f1cb22
Shmem region: support huge pages via path to hugetlbfs mount
2019-07-05 15:58:28 +02:00
Dennis Klein
3358a2ba12
Require DDS 2.4
...
* Remove obsolete FindDDS.cmake
* Adapt to new DDS version
2019-06-26 18:39:12 +02:00
Alexey Rybalchenko
7e6eb382d5
Extend Readout example
2019-04-29 20:32:38 +02:00
Dennis Klein
f17dade8f8
Fix example after rebase
2019-03-21 18:03:32 +01:00
Dennis Klein
90fdcc26bb
Run multipart example with ofi
2019-03-21 18:03:32 +01:00
Matthias Richter
696257fd4f
Extending FairMQParts by a constructor taking list of FairMQMessagePtr
...
This introduces a little helper to create a FairMQParts object in place from a
variable list of arguments. As a side effect also AddParts is extended to support
more than one FairMQMessagePtr.
2019-03-19 12:48:02 +01:00
Alexey Rybalchenko
5af604c0a9
Rename some test names for consistency
2019-03-06 14:23:08 +01:00
Alexey Rybalchenko
f191c5099c
Fix region example by moving our test code to a separate one
2019-03-06 14:23:08 +01:00
Alexey Rybalchenko
7df278818c
Enhance region example with Builder device
2019-03-06 14:23:08 +01:00
Alexey Rybalchenko
b7125b746e
Update deprecated methods
2019-02-25 12:19:50 +01:00
Alexey Rybalchenko
ec519cb318
update docs
2019-02-25 12:19:50 +01:00
Alexey Rybalchenko
36f409dc72
Formatting
2019-02-25 12:19:50 +01:00
Alexey Rybalchenko
ffbe90b638
Update to new DDS 2.2 API
...
- require DDS 2.2
- fix regressions in automatic port binding
- fix regression in channel API
- update DDS example readme
2018-11-28 16:55:34 +01:00
Alexey Rybalchenko
d4a4ea14d2
Add example/test for built-in devices
2018-10-18 21:33:47 +02:00
Alexey Rybalchenko
44acd4997d
Implement nanomsg linger in our transport
2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
1d45095d75
Add session id to example tests
2018-10-11 17:06:39 +02:00
Alexey Rybalchenko
2eddde0e5f
Update DDS example readme
2018-09-05 15:15:18 +02:00
Alexey Rybalchenko
7d5e76dece
Add more tests for custom main()
2018-08-27 17:37:22 +02:00
Alexey Rybalchenko
2498837b8e
Use new RateLimiter for ConditionalRun
2018-08-27 17:37:22 +02:00
Alexey Rybalchenko
2894af803b
Add getter for cmd line args & align channel names in log
2018-06-06 16:04:08 +02:00
Dennis Klein
3f96181ffd
Define nn tests only when nn transport is built
2018-05-24 15:54:35 +02:00
Dennis Klein
72f5cdef58
Fix various warnings
...
-Wunused-parameter
-Wreorder
-Wsign-compare
-Wunused-private-field
2018-05-24 13:03:06 +02:00
Alexey Rybalchenko
e4d73f1a9a
Test all examples with all possible transports
2018-05-15 19:18:37 +02:00
Alexey Rybalchenko
bf5983d8f6
provide location for general fairmq devices/tools
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
f68b5425a6
prefix general executables with 'fairmq-'
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
4b05fda0d8
Use PROJECT_INSTALL_DATADIR for config files
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
2ec55416ba
Update example READMEs
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
bab7e13737
Refactor the examples after move from FairRoot
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
31cba0515e
try full output for tests
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
2c2fc8e0a6
convert log severities use to lowercase and remove use of MQLOG
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
500d509324
Single Logger implementation for FairLogger & FairMQLogger
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
ccbbc9591d
FairMQ: Add hint argument to the region callback, settable per message.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
37271e5840
Use new Copy API in MQ example 4
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
21fc10d3de
Disable irrelevant output in tests to workaround output scrambling on MacOS 10.11
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
e9486a0573
Disable irrelevant test output (to workaround output scrambling)
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
88b1b20ae1
FairMQ: Fix missing region acks if receiver doesn't call OnData & clean includes.
2018-05-02 16:12:57 +02:00
Mohammad Al-Turany
22e2e90de3
correct typo in copyright section
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
661e469aa8
FairMQ: Add uuid generator to tools & let tests use it for session names.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
c9fc46e2c9
FairMQ: Add test for example/advanced/Region.
...
Also fix a regression in nanomsg transport.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
ce162364fa
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 16:12:57 +02:00
Dennis Klein
0fc0a37ada
Update ex3/MQ/3-dds readme
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
f7e023b900
FairMQ: shared memory unmanaged region updates:
...
- use same mapping for sender/receiver (created/remote) region.
- rename FairMQRegion -> FairMQUnmanagedRegion.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
132682bc10
Fix MQ example 6 condition
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
f827655f81
Port DDS plugin to the new plugin system.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
6d03dda95d
Eliminate warnings in FairLink and FairMQ Plugins.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
74fb825a18
Clean shmem before running the multi-transport test.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
319bdc91a1
Tests for MQ examples
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
984eed1a89
FairMQRegion and examples/advanced/Region
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
ab985dedf8
Update DDS example to new DDS APIs
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
c6de904046
Add NewPoller() wrapper.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
fc309e8b63
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 16:12:57 +02:00
Dennis Klein
3e013f98b8
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 16:12:57 +02:00
Alexey Rybalchenko
8defd77b63
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 16:12:57 +02:00
Alexey Rybalchenko
22abc3671b
First version of the shared memory transport.
...
Use via `--transport shmem` cmd option. No pub/sub.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
e255372043
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 16:12:57 +02:00
mkrzewic
c86bfd97a8
Update MQ example 8 to use multiple endpoints
2018-05-02 16:12:57 +02:00
Sebastien Binet
e241ea41bb
all: apply fer-json-fmt
2018-05-02 16:12:57 +02:00
Sebastien Binet
6e8839e955
all: use strict(er) and more regular JSON schema
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
72eb775983
Update JSON files & readme, use FairMQDevicePtr, cleanup.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
d2606f0821
Move config & control DDS functionality into plugins.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
da10c64800
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 16:12:57 +02:00
Alexey Rybalchenko
d5b98567db
Fix unused variables, init order and effc++ warnings.
2018-05-02 16:12:57 +02:00
Radoslaw Karabowicz
ac9475c591
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 16:12:57 +02:00
Alexey Rybalchenko
e7ad0d6c34
Refactor DDS example and tools to be able to run with/without DDS
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
dc72912b19
Remove redundant state change call and revert the termination handler.
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
f7200cf4bd
Let ParseAll exit if unsuccessfull
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
622a11a32d
Cleanup examples
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
edcc7a4ee3
Cleanup example include directories
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
789d87f422
Fix the logger conflict issue
2018-05-02 16:12:57 +02:00
Alexey Rybalchenko
13453354c8
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 16:12:57 +02:00
winckler
8317d440db
enable object array parsing in JSON parser for devices, channels, and sockets.
...
device, channel, and socket are parsed as before
2018-05-02 16:12:57 +02:00
winckler
07aed04b14
add deleter in FairMQ example 8
2018-05-02 16:12:57 +02:00
winckler
dcb791694a
change serialization API so that it takes a FairMQMessage reference
2018-05-02 16:12:57 +02:00
winckler
5f365c84c7
add serialization API
2018-05-02 16:12:57 +02:00