Dennis Klein
62781389d4
Add pmix::lookup binding and cleanup
2019-02-11 11:12:30 +01:00
Dennis Klein
dfc6b5c4a3
Add pmix::fence() C++ binding
2019-02-11 11:12:30 +01:00
Dennis Klein
2047dbef59
Fix pmix::info copy ctor
2019-02-11 11:12:30 +01:00
Dennis Klein
61a3da8697
Implement pmix::value copy ctor
2019-02-11 11:12:30 +01:00
Dennis Klein
0a98fa4bac
Fix codacy issues
2019-02-11 11:12:30 +01:00
Dennis Klein
2358d7b03a
Implement some PMIx C++ bindings
...
pmix::init()
pmix::finalize()
pmix::publish()
pmix::initialized()
pmix::get_version()
and supporting data structures.
2019-02-11 11:12:30 +01:00
Dennis Klein
0c54aab19d
Load dynamic plugins with RTLD_GLOBAL flag
...
The MPI MCA framework is another DSO-based plugin system which is
loading further plugins within our plugins. It does not work with
RTLD_LOCAL at the moment.
Enabling RTLD_GLOBAL for all dynamic plugins for now. If this leads
to problems, we can refactor and offer this load flag as an option.
2019-02-11 11:12:30 +01:00
Dennis Klein
1191c3cda5
Add PMIx plugin
...
Proof of concept for now.
2019-02-11 11:12:30 +01:00
Dennis Klein
c0771c81d6
Search plugins in system directories and LD_LIBRARY_PATH
...
Fixes #133
2019-02-11 11:12:30 +01:00
Dennis Klein
e2e476ba19
Remove obsolete dependency to boost signals v1
2019-01-29 16:01:12 +01:00
Alexey Rybalchenko
291d00c73f
Fix regression with ignored rateLogging channel argument
2019-01-07 11:28:15 +01:00
mkrzewic
4dc37efc12
Allow implicit conversion factory->resource
...
reduces boilerplate
2018-12-18 18:02:02 +01:00
mkrzewic
0cb8f6166a
Let getMessage deal with SSO
...
containers are not required to allocate, e.g. small string optimization
for now this is hypothetical since we cannot use std::basic_string with
at least gcc 7 since the basic_string there still uses the deprecated
rebind allocator interface (which pmr does not implement)
2018-12-10 15:10:53 +01:00
Alexey Rybalchenko
ee24144d61
Remove previously deprecated Copy method (since 1yr)
2018-11-28 21:16:29 +01:00
Alexey Rybalchenko
a9619a06d0
Add test for FairMQMessage::Rebuild
2018-11-28 21:16:29 +01:00
Alexey Rybalchenko
c605cbc3f6
Fix bug in shmem CloseMessage
2018-11-28 21:16:29 +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
33f5590626
Fix -Wsign-compare warning
2018-11-28 11:49:17 +01:00
mkrzewic
cc0c525e0d
Set pointer to factory also when receiving multi-part
2018-11-27 14:36:35 +01:00
Alexey Rybalchenko
25fcf13985
Move Bind/Connect/Attach to FairMQChannel
2018-11-13 11:08:48 +01:00
Alexey Rybalchenko
3ca0d7236a
Add safety checks for process tools
2018-11-06 11:14:01 +01:00
Teo Mrnjavac
227a302903
Avoid boost::uuids::entropy_error on some systems
2018-11-05 13:18:08 +01:00
Alexey Rybalchenko
bd899a2806
Add test for channel validation
2018-11-01 15:43:40 +01:00
Alexey Rybalchenko
0b199e779a
Add test for interface IP detection tools
2018-11-01 15:43:40 +01:00
Dennis Klein
5e4876c947
Allow plugins to create channels
...
This also fixes a bug, that prevented the usage of custom types with the
plugin config API.
2018-10-31 15:42:04 +01:00
Alexey Rybalchenko
3b5b2b501f
Use exceptions for fatal errors in device/channel
...
- These will be caught by StateMachine::ProcessWork
and lead to error state.
- Solve issue where device goes into ready state if
it encounters misconfigured channel in the Run.
- deprecate WaitForInitialValidation().
2018-10-31 15:26:43 +01:00
Alexey Rybalchenko
3561255cf9
Add missing channel update handlers
2018-10-31 15:26:43 +01:00
mkrzewic
cbab7649be
Return unique_ptr by value to allow RVO
2018-10-31 13:12:38 +01:00
mkrzewic
6ac94b7bc7
Fix ctor
2018-10-31 13:12:38 +01:00
mkrzewic
f9658f69a4
Alias boost::container::pmr -> fair::mq::pmr
...
so the eventual switch to std::pmr becomes easier
2018-10-31 13:12:38 +01:00
mkrzewic
34286ef75e
Remove container adoption code
2018-10-31 13:12:38 +01:00
mkrzewic
1a07137dda
Rename adoptVector into getVector
2018-10-31 13:12:38 +01:00
mkrzewic
1f42f49ae5
Update some comments
2018-10-31 13:12:38 +01:00
mkrzewic
d40bbfe208
Equip FairMQMessage with pointer to factory (at creation)
...
the patch seems big but most of it is just propagating the new notion of
constness of the factory - since it keeps track of created messages with
the internal allocator it no longer is const
2018-10-31 13:12:38 +01:00
mkrzewic
310b9647b5
Adopt FairMQMessage backed memory resource collection from AliceO2
...
Add a pmr interface to FairMQTransportFactory
refactor
Port the unit tests for MemoryResources
clang format
2018-10-31 13:12:38 +01:00
Alexey Rybalchenko
0cfa9192d7
Deprecate Send-/ReceiveAsync, use timeout variant instead
2018-10-30 10:39:35 +01:00
Alexey Rybalchenko
c40bd7d6a9
Apply clang-tidy suggestions [performance-faster-string-find]
2018-10-29 13:45:36 +01:00
Alexey Rybalchenko
4951433330
Apply clang-tidy suggestions [modernize-loop-convert]
2018-10-29 13:45:36 +01:00
Alexey Rybalchenko
d4a4ea14d2
Add example/test for built-in devices
2018-10-18 21:33:47 +02:00
Alexey Rybalchenko
ce4062f3a0
Remove GetSocket interface that exposes transport details
2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
f8824335a5
Add setters/getters for socket options
2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
dfa1b68867
Make factory classes final (optimization potential)
2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
00800f16f1
Remove support for nanomsg <= 0.6
2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
44acd4997d
Implement nanomsg linger in our transport
2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
cfb727181f
Remove set/get timeout from general socket interface
2018-10-12 20:29:50 +02:00
Alexey Rybalchenko
e090967645
Shmem: Build shmem names out of session id + user id
2018-10-11 17:06:39 +02:00
Dennis Klein
3a1b769937
Support feeding the child process data on stdin
2018-10-10 19:35:18 +02:00
Dennis Klein
9f325451e5
Make sure we reset terminal config also on exception
2018-10-10 19:35:18 +02:00
Dennis Klein
a78d35d90d
Remove obsolete declaration
2018-10-10 19:35:18 +02:00
Alexey Rybalchenko
cb199e7283
Fix throw after quit signal case
2018-10-10 19:35:18 +02:00
Dennis Klein
e39316c866
Test exceptions thrown in user code
2018-10-10 19:35:18 +02:00
Alexey Rybalchenko
bde12f58b2
Handle errors in static and interactive controllers
2018-10-10 19:35:18 +02:00
Alexey Rybalchenko
45354f268b
Use future instead of thread for device rateLogger
2018-10-10 19:35:18 +02:00
Dennis Klein
1aab354a5d
Resolve hanging process in case of uncaught exception
2018-10-10 19:35:18 +02:00
Alexey Rybalchenko
e1f555bc05
Fix issues found by Codacy
2018-10-08 17:20:02 +02:00
Alexey Rybalchenko
985150437a
Remove shmem prototype code - unused
2018-10-08 17:20:02 +02:00
Dennis Klein
cf9a2944c2
Introduce and export hotfix version component
...
The cmake variable PROJECT_VERSION_HOTFIX contains the hotfix version
component. 0 means no hotfix, 1 means the first hotfix, 2 the second,
and so on.
2018-09-20 18:09:07 +02:00
Dennis Klein
94297f9833
Tie builtin plugin version to the project version
2018-09-20 18:09:07 +02:00
Alexey Rybalchenko
f6c1f5dc0f
Fix theoretical race in signal handler
2018-09-20 14:05:44 +02:00
Alexey Rybalchenko
4123ebc9d4
Add interruptable FairMQDevice::WaitFor(duration) method
2018-09-20 14:05:44 +02:00
Dennis Klein
60f27b94b2
Support BUILD_SHARED_LIBS flag
...
https://cmake.org/cmake/help/v3.0/variable/BUILD_SHARED_LIBS.html
2018-09-19 19:09:10 +02:00
Dennis Klein
adfa0e2c95
Fix ODR violation
...
fairmq/shmem/Monitor.cxx:39:27: error: redefinition of ‘volatile sig_atomic_t {anonymous}::gSignalStatus’
volatile sig_atomic_t gSignalStatus = 0;
^~~~~~~~~~~~~
In file included from fairmq/cotire/FairMQ__CXX_unity_20_29.cxx:4:
fairmq/plugins/Control.cxx:20:27: note: ‘volatile sig_atomic_t {anonymous}::gSignalStatus’ previously defined here
volatile sig_atomic_t gSignalStatus = 0;
^~~~~~~~~~~~~
2018-09-19 19:09:10 +02:00
Dennis Klein
c2bea85b90
Bump coolness factor
...
Log ascii logo with some metadata.
Metadata added to header <fairmq/Version.h>.
2018-09-13 22:25:05 +02:00
Alexey Rybalchenko
2c6b2e7f04
Fix race condition in the control plugin
2018-09-12 16:03:18 +02:00
Alexey Rybalchenko
4aae1ad8d4
Allow DDS command UI to target parts of the topology
2018-09-05 15:15:18 +02:00
Alexey Rybalchenko
b89c309768
Fix missing header install
2018-08-30 22:54:03 +02:00
Dennis Klein
c02fbed331
Require msgpack 3.1.0
...
Since 3.1.0 msgpack ships a proper CMake package exporting a target
for the header-only C++ library. Allows us to get rid of our custom
find module.
2018-08-30 17:39:56 +02:00
Alexey Rybalchenko
b814e40c87
Fix multipart transfer timeout and enable its tests
2018-08-27 18:12:02 +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
6545daeda7
Use new RateLimiter in BenchmarkSampler
2018-08-27 17:37:22 +02:00
Matthias Kretz
e95096eb37
Add RateLimiter class to tools
2018-08-27 17:37:22 +02:00
Alexey Rybalchenko
1bb558a457
Refactor initialization
...
- add device constructor that accepts FairMQProgOptions object.
- Initialize config values in INIT state (to allow their update).
- Simplify FairMQProgOptions handling in FairMQDevice.
- Simplify SetTransport/SetConfig - refactor duplicated code.
- Add FairMQDevice methods to add channels.
2018-08-27 17:37:22 +02:00
Dennis Klein
8b3e3bbe28
Fix coverage reporting for FAST_BUILD
2018-08-09 16:15:15 +02:00
Dennis Klein
fc0adba26b
Support unity build
2018-08-09 16:15:15 +02:00
Dennis Klein
70ffc0d8c6
Guard list operation for the case the list is empty
2018-08-09 16:15:15 +02:00
Dennis Klein
ff701006fd
Reflect dev version in the installed artifacts
2018-08-09 16:15:15 +02:00
Dennis Klein
c8bd19b7a1
Add experimental FAST_BUILD option
...
Significantly reduces compile time for the FairMQ target with
precompiled headers and unity build. For maximum improvement, use
a multi-core-aware build tool, e.g. Ninja.
Leave it undocumented for now, let's first test it internally for a while.
2018-08-09 16:15:15 +02:00
Dennis Klein
9184d5bdae
clean
2018-08-09 16:15:15 +02:00
Dennis Klein
6f22ccf4c1
Fix -Wsign-compare
2018-08-09 16:15:15 +02:00
Dennis Klein
b2034c20cf
Fix -Wshadow
2018-08-09 16:15:15 +02:00
Dennis Klein
ab6fd35a86
Add header-only target for msgpack
2018-08-09 16:15:15 +02:00
Dennis Klein
4a8e46c65c
Fix -Wunused-parameter
2018-08-09 16:15:15 +02:00
Dennis Klein
90e00730b1
Update clang-format
2018-08-09 16:15:15 +02:00
Dennis Klein
1e0159b775
Link against system threads library
2018-08-08 16:13:41 +02:00
Alexey Rybalchenko
ef3eb5f83e
Simplify structure in DeviceRunner and plugin classes
2018-08-08 16:13:41 +02:00
Alexey Rybalchenko
ee8afd7d2b
Fix race in plugin manager/services
2018-08-08 16:13:41 +02:00
Alexey Rybalchenko
a53ef79552
Run state handlers on the main thread (breaking change for control).
2018-08-08 16:13:41 +02:00
Dennis Klein
e403d18cb9
Add codecov reports to PRs
2018-07-20 17:21:23 +02:00
mkrzewic
f05118f4eb
Make ";" the separateor in multi-point channel config
...
This is to avoid parsing problems using "," in e.g. multi-point configuration using Suboptparser
2018-06-18 15:26:31 +02:00
Alexey Rybalchenko
21419adb40
Change unregistered options warning to debug
2018-06-16 17:40:05 +02:00
Alexey Rybalchenko
1554c1c273
Change missing options in transport from warning to debug
...
Transport has meaningful defaults if FairMQProgOptions is missing
2018-06-13 18:03:16 +02:00
Alexey Rybalchenko
59b04a1a64
Handle Receive differently when switching transports
...
No need for buffer+size message on Receive.
2018-06-12 13:55:18 +02:00
Alexey Rybalchenko
653e82cab4
Avoid copy (where possible) when switching transports
2018-06-08 13:10:06 +02:00
Dennis Klein
96e2076300
Only install public header files
...
Resolves #15
2018-06-08 11:25:03 +02:00
Alexey Rybalchenko
2894af803b
Add getter for cmd line args & align channel names in log
2018-06-06 16:04:08 +02:00
Alexey Rybalchenko
8b88e67360
Refactor FairMQProgOptions
2018-06-06 16:04:08 +02:00
Dennis Klein
72f5cdef58
Fix various warnings
...
-Wunused-parameter
-Wreorder
-Wsign-compare
-Wunused-private-field
2018-05-24 13:03:06 +02:00
Dennis Klein
811e716731
Add missing header
2018-05-23 08:26:23 +02:00
Alexey Rybalchenko
e4c349888d
Improve compilation speed
2018-05-17 16:32:49 +02:00
Alexey Rybalchenko
436f79bee5
Control plugin: add ability to switch log levels interactively
2018-05-17 10:30:18 +02:00
Alexey Rybalchenko
e295978b3e
further shorten shm names
2018-05-15 19:18:37 +02:00
Alexey Rybalchenko
d93dc2f7f7
Use enum transport types instead of strings in Channel/Device
2018-05-15 19:18:11 +02:00
Alexey Rybalchenko
7a4fd96b27
Fix namespaces in Transports.h and add conversion map
2018-05-15 19:18:11 +02:00
Alexey Rybalchenko
155618af57
Used cached default transport in FairMQDevice::Transport()
2018-05-15 19:18:11 +02:00
Alexey Rybalchenko
de7ddc0ddd
Fix type conflict for some environments
2018-05-04 16:59:50 +02:00
Alexey Rybalchenko
a5ff7d5a1e
Add resolver for hostname -> ip, use it before bind/connect
2018-05-03 18:33:13 +02:00
Alexey Rybalchenko
166e537d9f
Fix incomplete initialization in CreateOwnConfig()
2018-05-02 22:09:42 +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
bab7e13737
Refactor the examples after move from FairRoot
2018-05-02 16:12:57 +02:00
Dennis Klein
7bb4b0625e
Depend on ZeroMQ via CMake package
2018-04-23 17:38:47 +02:00
Dennis Klein
ff9618765f
Always build multipart support in nanomsg transport
2018-04-22 19:53:39 +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
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
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
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
Dennis Klein
de8f32e9f9
FairMQ: Fix ofi::Message allocation
2018-03-26 13:58:20 +02:00
Dennis Klein
e8994dfa0f
FairMQ: Disable post buffer ack on control band
...
Seems to be unnecessary.
2018-03-26 13:58:20 +02:00
Dennis Klein
cb447bde38
FairMQ: Implement ofi::Socket data/message metrics
2018-03-26 13:58:20 +02:00
Dennis Klein
c5072ea425
FairMQ: Fix missing ofi completion events
2018-03-26 13:58:20 +02:00
Dennis Klein
144aa912d7
FairMQ: Implement blocking ofi::Socket Send/Receive with FI_MSG
...
Completion events are not yet working.
2018-03-26 13:58:20 +02:00
Dennis Klein
8f5b888314
FairMQ: Fix Operation not permitted error
2018-03-26 13:58:20 +02:00
Dennis Klein
5b3a5b9709
FairMQ: Implement ofi address exchange
...
Control messages are encoded with protobuf.
2018-03-26 13:58:20 +02:00
Dennis Klein
df5d5d4086
FairMQ: Monitor Meta socket connection and insert address vector
2018-03-26 13:58:20 +02:00
Dennis Klein
92320604a9
FairMQ: Add ofi address vector
...
Translates between native and ofi addresses. Needed for unconnected
endpoints.
2018-03-26 13:58:20 +02:00
Dennis Klein
630a1dbbce
FairMQ: Setup ofi objects
...
FI_MSG API
FI_EP_RDM, reliable datagram message (unconnected)
2018-03-26 13:58:20 +02:00
Dennis Klein
4250e3d45b
FairMQ: Implement simple ofi Send/Receive with meta com only
2018-03-26 13:58:20 +02:00
Dennis Klein
eaebfc6933
FairMQ: Partially implement ofi::Message
2018-03-26 13:58:20 +02:00
Alexey Rybalchenko
fed7601be4
replace cmd socket with transport specific unblock mechanism
2018-03-26 13:58:20 +02:00
Dennis Klein
209e521046
FairMQ: Implement ofi::Poller
2018-03-26 13:58:20 +02:00
Dennis Klein
e73fcbd595
FairMQ: Parameterize the command interface initializing with sub socket
...
! THIS PATCH BREAKS NANOMSG TRANSPORT !
The subscriber command socket was created using the transport factory of
the channel which might not implement sub sockets. This patch creates
the subscriber command sockets in the device initialization and passes
them down (move) to the command interface initialization.
This patch puts more focus on the GetSocket interface of FairMQSocket,
because all command sockets are now implemented with the default
transport - the channels use an internal poller which polls over sockets
of potentially different transports now (e.g. zeromq command socket and
nanomsg data socket). Basically, all transports need to return file
descriptors compatible to be used in a single poll set. THIS IS NOT THE CASE!
! THIS PATCH BREAKS NANOMSG TRANSPORT !
2018-03-26 13:58:20 +02:00
Dennis Klein
43a06e3cc7
FairMQ: Explicitely mark dtor throwing to get rid of warning
2018-03-26 13:58:20 +02:00
Dennis Klein
d9595adf45
FairMQ: Implement ofi::Socket
2018-03-26 13:58:20 +02:00
Dennis Klein
3670dd8835
FairMQ: Remove unused Attach method and unused socket flags
2018-03-26 13:58:20 +02:00
Dennis Klein
3785c0e369
FairMQ: Implement ofi::TransportFactory ctor/dtor
2018-03-26 13:58:20 +02:00
Dennis Klein
72bc86f006
FairMQ: Add unit tests for PAIR channel type
2018-03-26 13:58:20 +02:00
Dennis Klein
9b7841e89e
FairMQ: Remove deprecated TransportFactory factory method
2018-03-26 13:58:20 +02:00
Dennis Klein
7cfd93c998
FairMQ: Add ofi transport factory skeleton
2018-03-26 13:58:20 +02:00
Alexey Rybalchenko
7b4976898a
include FairMQProgOptions.h in FairMQDevice.h
2018-03-22 14:11:34 +01:00
Alexey Rybalchenko
5af82f80c1
DDS command UI: update to 2.0 (include session arg)
2018-03-22 14:11:14 +01:00
Alexey Rybalchenko
010520dac7
Logger: handle nullptr.
2018-03-22 14:11:00 +01:00
Alexey Rybalchenko
95112dac02
add CountProperty() to plugin APIs, throw is GetProperty doesn't find key
2018-03-22 14:10:48 +01:00
Alexey Rybalchenko
243352d717
dds plugin: handling for same channel names from multiplied collections
2018-03-22 14:10:48 +01:00
Dennis Klein
665ab104bb
FairMQ: Add new contributor
2018-03-21 19:06:50 +01:00
Gvozden Neskovic
850ec92b5a
SHM: coalesce multipart messages
...
Transmit meta info of an shm multipart message in a single zmq message.
2018-03-19 10:53:33 +01:00
Alexey Rybalchenko
83f81a0d9f
fix regression in DDS plugin
2018-03-02 05:45:07 +01:00
Alexey Rybalchenko
6e40011a18
DDS plugin: handle n to m on single channel name case
2018-02-28 11:22:19 +01:00
Alexey Rybalchenko
13678f9f6d
monitor update
2018-02-19 14:03:42 +01:00
Alexey Rybalchenko
abcc5083f2
FairMQ DDS plugin: fix incomplete shutdown when dds server is terminated
2018-02-15 10:31:47 +01:00
Alexey Rybalchenko
f8d4fe01d0
FairMQProgOptions fixes and cleanup
...
- Remove singular key names from JSON schema.
- Align the property tree created by `FairMQSuboptParser` with the format required by the main parser (plural names).
- Fix `--print-options` to print all options (not only those that have their value set).
- remove XML parser (outdated and unused).
- various code cleanup.
2018-02-07 16:34:21 +01:00
Alexey Rybalchenko
4e2a195289
Fix warnings
2018-02-01 09:59:11 +01:00
Alexey Rybalchenko
e5c4ad31c7
Fix typos and ommissions in logger docs
2018-02-01 09:59:11 +01:00
Alexey Rybalchenko
b228788cc0
Logger: Allow adding custom sinks
...
(example in logger/loggerTest.cxx, docs in fairmq/docs/Logging.md)
2018-01-26 16:06:19 +01:00
Alexey Rybalchenko
7e6bd91467
Fix reorder warnings
2018-01-24 14:36:52 +01:00
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
Alexey Rybalchenko
f4e5a74f23
Always have access to FairMQProgOptions from device.
2017-06-04 01:06:12 +02:00
Dennis Klein
7bb6a2eed9
add default subchannel index
2017-05-24 16:37:33 +02:00
Dennis Klein
8bc21675af
Refactor TransportFactory to RAII
...
* Remove explicit Initialize and Terminate states,
map them onto ctor/dtor
* Remove no longer needed Shutdown state
* Remove deprecated SetTransport()
2017-05-24 16:37:33 +02:00
Dennis Klein
733794657c
update docs
2017-05-23 14:10:34 +02:00
Dennis Klein
89423eb737
enable shmem tests
2017-05-23 14:10:34 +02:00
Dennis Klein
8b93b4f8ed
do not call nn_term()
...
nn_term() will globally lock down the nanosmsg library. The nn_init()
interface is no longer available to reset the global state. Subsequent unit
tests after the first nn_term() call are failing.
2017-05-23 14:10:34 +02:00
Dennis Klein
d2c78479f0
Refactor FairMQTools
...
* Split header, add common header
* Transform to canonical namespace
* Deprecate old header
* Adapt to new Tools.h
2017-05-23 13:42:56 +02:00
Dennis Klein
9215c81362
Deprecate old TransportFactory factory
2017-05-23 08:37:52 +02:00
Alexey Rybalchenko
9288a2c3d5
Add tests for poller.
2017-05-23 08:32:13 +02:00
Alexey Rybalchenko
6b221d950c
Add NewPoller() wrapper.
2017-05-23 08:32:13 +02:00
Dennis Klein
3be2f297f3
generate id if no device id available
...
* CreateSocket factory no longer accepts id param, but the
TransportFactory has an id member instead
2017-05-18 20:01:44 +02:00
Dennis Klein
eb614b6005
do not copy strings
2017-05-18 20:01:44 +02:00
Dennis Klein
b5dab60a82
add more single and multithreaded unit tests
2017-05-18 20:01:44 +02:00
Dennis Klein
3205e0c378
refactor to more idiomatic RAII
...
* FairMQTransportFactoryZMQ: move the config invariant
initialization to ctor
* FairMQChannel: add new ctor that creates usable channel
* FairMQSocket*: close sockets in dtor
* FairMQTransportFactory*: terminate context in dtor
* FairMQChannel: add Bind/Connect facades (for explicit control, e.g. timing)
2017-05-18 20:01:44 +02:00
Dennis Klein
87252edbe0
move New*Message apis to TransportFactory
...
* add facades to Device and Channel
* add Transport() getter to Device
* inline Transport() getter from Channel
2017-05-18 20:01:44 +02:00
Dennis Klein
97ca52aa0e
move TransportFactory factory into FairMQTransportFactory namespace
2017-05-18 20:01:44 +02:00
Dennis Klein
f522dc1717
add FairMQParts Send/Receive apis
2017-05-18 20:01:44 +02:00
Dennis Klein
8b85dd2191
support inproc addresses
2017-05-18 20:01:44 +02:00
Dennis Klein
3cb80de773
add channel name setter
2017-05-18 20:01:44 +02:00
Dennis Klein
463a49d79c
update CONTRIBUTORS
2017-05-18 20:01:44 +02:00
Dennis Klein
2d4282c62d
Fix CID 169527 Uncaught Exception
2017-05-17 18:45:44 +02:00
Dennis Klein
a9ac1fa91c
Fix CID 169522 Unchecked return value
2017-05-17 18:45:15 +02:00
Dennis Klein
ec786dce03
Fix CID 169525 Data race condition
2017-05-17 18:44:51 +02:00
Dennis Klein
c78541432f
add missing link dependency
2017-05-10 06:43:55 +02:00
Dennis Klein
04bc7d4bfd
add missing include guard
2017-05-10 06:42:57 +02:00
Dennis Klein
3dc5fd1d6e
expose STL iterator interface for FairMQParts
2017-05-09 14:48:34 +02:00
Alexey Rybalchenko
0926a9a764
FairMQ: allow accumulation of parts on receive.
2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
1fa5c836a6
FairMQ: stop device if binding was unsuccessful (not updated dynamically).
2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
459b42add2
FairMQ: MakeTransport to create stand-alone transport for tests.
2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
085de240c2
FairMQ: fix missing includes.
2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
2a526b8625
shmem: introduce FairMQShmMonitor.
2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
7b4a2ae932
shmem: configurable segment name.
2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
14f9084a80
shmem: Heartbeats for the monitor.
2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
a8d40abbd9
FairProgOptions: update ambiguous option name.
2017-04-28 13:30:51 +02:00
Dennis Klein
f39b41d68c
tweak startup and linger times
2017-04-21 09:21:57 +02:00
Dennis Klein
bbc8da54b4
clean redundant doxygen comments
2017-04-21 09:21:57 +02:00
Dennis Klein
91831ff701
print debug output immediately
...
This helps in the cases when get killed by the ctest timeout.
2017-04-21 09:21:57 +02:00
Dennis Klein
a1fe478ce7
fix more -Winconsistent-missing-override warnings
2017-04-20 11:07:50 +02:00
Dennis Klein
132ae69953
add startup and linger times for pubsub
2017-04-20 11:07:50 +02:00
Alexey Rybalchenko
541538e3de
only reset sockets if needed
2017-04-20 11:07:50 +02:00
Alexey Rybalchenko
c51575f88c
fix clang++ -Winconsistend-missing-override warnings
2017-04-20 11:07:50 +02:00
Dennis Klein
f963a06e25
make connecting channel wait loop more flexible
2017-04-20 11:07:50 +02:00
Alexey Rybalchenko
ee0d2e0c55
add debug output to test devices
2017-04-20 11:07:50 +02:00
Dennis Klein
218af15bbb
ensure that FairMQ.Protocols is not run in parallel
...
The testsuite uses hardcoded system resources (TCP ports)
and is consequently not thread-safe.
2017-04-20 11:07:50 +02:00
Dennis Klein
d866589be1
Two devices can't share device id
2017-04-20 11:07:50 +02:00
Dennis Klein
bf2b208749
update docs
2017-04-20 11:07:49 +02:00
Alexey Rybalchenko
7caf0a6aae
Configurable shmem segment size
2017-04-20 11:07:49 +02:00
Alexey Rybalchenko
ac7017deb5
Re-enable rate limiting in benchmarkSampler
2017-04-20 11:07:49 +02:00
Alexey Rybalchenko
5aaf27bf02
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).
2017-04-20 11:07:49 +02:00
Dennis Klein
d7eb692951
remove no longer needed special treatment for logger directory
2017-04-20 11:07:49 +02:00
Dennis Klein
9b337ca075
remove redundant include path
...
The imported ZeroMQ target has a target property
INTERFACE_INCLUDE_DIRECTORIES which carries this
information.
2017-04-20 11:07:49 +02:00
Dennis Klein
d02ae9be2c
remove no longer used variable
2017-04-20 11:07:48 +02:00
Giulio Eulisse
1ebbe80539
Add ZeroMQ include path
2017-04-20 11:07:48 +02:00
Dennis Klein
c41cf318bd
export FairMQ targets and install headers hierarchically
2017-04-20 11:07:47 +02:00
Mohammad Al-Turany
608e34f26d
Set CMake min. vers. to 3.6.0 and add conrtibutors file
2017-04-20 11:07:47 +02:00
Dennis Klein
365a68010f
various fixes
...
* fix include paths
* print on stderr
2017-04-20 11:07:47 +02:00
Dennis Klein
13c9c09ab9
list fairmq authors centrally instead of in each file
...
listing authors in source files is inaccurate too. The version
control system documents this information most accurately, so per
file author lists are dropped for simplicity.
2017-04-20 11:07:47 +02:00
Dennis Klein
35b3212f7e
cmake cleanups and fixes
...
* fix overlinking of libFairMQ
* import dependencies in find modules
* provide FairMQinstall target
* add gtest helper module
* add cotire helper module
* add many comments
* cleanup fairmq cmake file
* add FindPStreams module
* link logger into libFairMQ
* drop root dictionary generation
* bump min required cmake version to 3.7.2
2017-04-20 11:07:47 +02:00
Dennis Klein
7e34f7042f
refactor tests
...
* move to gtest
* add shmem tests
* cleanup cmake file (organize tests in suites)
2017-04-20 11:07:47 +02:00
Matthias Richter
55a9d69908
Adding option '--channel-config' to MQProgOptions
2017-04-20 11:07:46 +02:00
Matthias Richter
9943be507e
Adding helper function to print the raw boost property tree
2017-04-20 11:07:46 +02:00
Matthias Richter
e184610c06
Adding parser implementation for key-value subopt format
...
A parser implementation for FairMQ channel properties.
The parser handles a comma separated key=value list format by using the
getsubopt function of the standard library.
The option key '--channel-config' can be used with the list of key/value
pairs like e.g.
--channel-config name=output,type=push,method=bind
2017-04-20 11:07:46 +02:00
Alexey Rybalchenko
341464a793
Compatibility with nanomsg<=0.6
2017-03-21 14:53:07 +01:00
Alexey Rybalchenko
3c73c690f7
Transports: use transportType as static member.
2017-03-14 17:51:26 +01:00
Alexey Rybalchenko
b237b3f9d7
Remove unused code.
...
- Remove unused code in FairMQTools.
- Remove obsolete device options (now in device config).
2017-03-14 17:51:26 +01:00
Alexey Rybalchenko
2293c5e417
FairMQChannel: API to access socket metrics; make fSocket private.
2017-03-14 17:51:26 +01:00
Giulio Eulisse
2a72d58766
Remove unneeded if when deleting NULL / 0 / nullptr
...
C++ standard dictates that NULL / 0 / nullptr is a valid argument for
delete which then simply has no effect:
"The value of the first argument supplied to a deallocation function may
be a null pointer value; if so, and if the deallocation function is one
supplied in the standard library, the call has no effect."
I therefore think in these particular case it's safe to remove the ifs.
2017-03-13 15:46:56 +01:00
Florian Uhlig
d1cf852c98
Fox Coverity issues
...
Fix CID 131712. In case parameter string does not fit in variable return a failure.
Fix CID 162913. Initialize missing data member.
Fix CID 58901.
Fix CID 149137.
Fix CID 149143.
Fix CIDs 149156, 149150, 149147, 149145, 149144, 149137. Don't use command line parameter argv directly.
2017-03-03 15:45:23 +01:00
Alexey Rybalchenko
91b7a72ac5
get default network interface from the default route
2017-03-02 13:25:06 +01:00
Alexey Rybalchenko
eaa220e39e
better tests output
2017-03-02 13:25:06 +01:00
Sandro Wenzel
9e477264c8
Better encapsulate Device config: Offer a getter method
2017-03-02 13:24:35 +01:00
Alexey Rybalchenko
c78b7e4cfa
Fix nanomsg tests
2017-02-27 17:49:30 +01:00
Alexey Rybalchenko
07b760218f
Fix coverity #157658
2017-02-27 13:09:16 +01:00
Alexey Rybalchenko
7c1f7aa3f2
Fix Tuto3 double delete, cleanup test output, undeclared var in NN socket.
2017-02-27 13:09:16 +01:00
Dennis Klein
b43d4c142d
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
2017-02-23 19:42:15 +01:00
Alexey Rybalchenko
c66fd6fe91
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
2017-02-23 06:47:09 +01:00
Alexey Rybalchenko
e53ad151a7
Fix mismatch in FairMQSink parameter type.
2017-02-23 06:47:09 +01:00
Alexey Rybalchenko
3e7cb85816
Fix incorrect calculation of transfer rate for multipart.
2017-02-23 06:47:09 +01:00
Alexey Rybalchenko
8cf1cbb930
Initialize shared memory only if it is used.
2017-02-23 06:47:09 +01:00
Alexey Rybalchenko
ac1da4db66
Require std::move when adding existing message to FairMQParts.
2017-02-23 06:47:09 +01:00
Alexey Rybalchenko
65c19f07bf
Fix compatibility with ZeroMQ 4.2.1
2017-02-09 12:19:23 +01:00
Florian Uhlig
617042b3c6
For tests on MacOSX use new MacOSX version 10.11 and FairSoft version may16p1.
...
Run fairmq tests sequentialy.
2017-01-27 06:16:11 -08:00