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