Commit Graph

154 Commits

Author SHA1 Message Date
Alexey Rybalchenko
f515eb1100 Extract state queue into own class. Use in device, plugins 2019-07-19 14:45:27 +02:00
Alexey Rybalchenko
4487b81de8 Extract States & Transitions to own header, use in plugins 2019-07-19 14:45:27 +02:00
Alexey Rybalchenko
daed714146 Fix CMake after rebase 2019-07-10 19:35:18 +02:00
Dennis Klein
a8c76accdc Split StateMachine and Tools into separate targets
This change is needed to share the functionality between
the core library and the SDK library. We want to support building/installing
just the SDK without having a dependency on the core library which adds
additional dependencies.
2019-07-02 21:30:37 +02:00
Dennis Klein
54b7742d85 Drop obsolete dependency to AZMQ 2019-03-21 18:03:32 +01:00
Dennis Klein
f85663bfe8 Fix link errors with Boost 2019-03-06 14:23:08 +01:00
Dennis Klein
da070a407e Depend on AZMQ 2019-03-06 14:23:08 +01:00
Dennis Klein
ba4e6f72c9 Implement connection mgmt 2019-03-06 14:23:08 +01:00
Dennis Klein
0ff8eaf84d Fix package dependencies 2019-03-06 14:23:08 +01:00
Dennis Klein
03912e86f8 Drop protobuf dependencies 2019-03-06 14:23:08 +01:00
Dennis Klein
4d7a1c81c6 Depend on asiofi 2019-03-06 14:23:08 +01:00
Alexey Rybalchenko
fc94342db8 Update state machine
- Split INITIALIZING state into Init+Bind+Connect
 - Remove PAUSE state
 - Convert state/transitions to enum classes (CamelCase)
 - Transition to a state only once previous handler is complete
 - Add CompleteInit transition to notify Initializing state
   that config updates are complete
 - Deprecate WaitForEndOfState(transition) in favor of
   WaitForState(state)/WaitForNextState()
 - Update tests/plugins to new APIs
 - Deprecate CheckCurrentState() in favor of NewStatePending()
2019-02-25 12:19:50 +01:00
Dennis Klein
1191c3cda5 Add PMIx plugin
Proof of concept for now.
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
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
985150437a Remove shmem prototype code - unused 2018-10-08 17:20:02 +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
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
Dennis Klein
8b3e3bbe28 Fix coverage reporting for FAST_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
ab6fd35a86 Add header-only target for msgpack 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
ee8afd7d2b Fix race in plugin manager/services 2018-08-08 16:13:41 +02:00
Dennis Klein
e403d18cb9 Add codecov reports to PRs 2018-07-20 17:21:23 +02:00
Dennis Klein
96e2076300 Only install public header files
Resolves #15
2018-06-08 11:25:03 +02:00
Alexey Rybalchenko
8b88e67360 Refactor FairMQProgOptions 2018-06-06 16:04:08 +02:00
Alexey Rybalchenko
e4c349888d Improve compilation speed 2018-05-17 16:32:49 +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
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
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
ff16a28686 FairMQ: Fix regression bug introduced with PR#728 2018-03-28 09:04:30 +02:00
Dennis Klein
08581e49e1 Add BUILD_OFI_TRANSPORT build switch, default OFF 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
5b3a5b9709 FairMQ: Implement ofi address exchange
Control messages are encoded with protobuf.
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
eaebfc6933 FairMQ: Partially implement ofi::Message 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
d9595adf45 FairMQ: Implement ofi::Socket 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