Commit Graph

1156 Commits

Author SHA1 Message Date
Dennis Klein
0aecfff133 feat(plugins)!: Remove PMIx plugin 2023-03-02 11:20:35 +01:00
Dennis Klein
2e98a4e2cb feat(ofi)!: Remove ofi transport
BREAKING CHANGE

Due to a lack of users, we remove the experimental code. The
latest implementation can be found in release v1.4.56. This does
not mean it will never be picked up again, but for now there are
no plans.
2023-03-02 11:20:35 +01:00
Dennis Klein
5108f699b7 fix: Remove unused fMaxRunRuntimeInS
The corresponding config option was already
removed in v1.4.50 (see 5d45d89269)
2023-03-01 15:39:38 +01:00
Dennis Klein
c35d35a3c3 feat!: Remove Device::TransitionTo() without replacement
BREAKING CHANGE

However, this API was never advertised nor used by anyone.
2023-03-01 15:39:38 +01:00
Dennis Klein
435d07eaf9 feat: Improve ChangeState API
* Add `[[nodiscard]]` to `bool Device::ChangeState()`
* Introduce throwing variant `void Device::ChangeStateOrThrow()`

resolves #441
2023-03-01 15:39:38 +01:00
Dennis Klein
5ef17fddbb feat: Deprecate Device::fChannels in preparation for #427 2023-03-01 15:39:38 +01:00
Alexey Rybalchenko
8f5efdf74c Extend shmem docs 2023-02-24 14:28:18 +01:00
Alexey Rybalchenko
45663189a9 Turn shm-monitor off by default
resolves #459
2023-02-24 14:28:18 +01:00
Alexey Rybalchenko
afd5700cca Update copyright date 2023-02-24 14:28:18 +01:00
Dennis Klein
a83e401100 fix: [-Wdeprecated-declarations] 2023-02-24 13:59:27 +01:00
Dennis Klein
0a63c74849 fix: [-Wsign-compare] 2023-02-24 13:59:27 +01:00
Dennis Klein
a58b4870d7 feat(Parts): Refine and tweak
* Optimize appending another Parts container
* Remove redundant/verbose comments
* Change r-value args to move-only types into l-value args for
  readability
* Deprecate `AtRef(int)`, redundant, just dereference at call site
* Deprecate `AddPart(Message*)`, avoid owning raw pointer args
* Add various const overloads
* Add `Empty()` and `Clear()` member functions
* Add `noexcept` where applicable
2023-02-24 13:59:27 +01:00
Alexey Rybalchenko
7bf1d368a8 Device: synchronize access to transports container 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
ae7bc6fc6c Control plugin: remove superfluous automatic transitions 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
9093ed82dc Resume/Interrupt transports consistently
- Resume transports before state callbacks & handlers
 - Interrupt transports on new transitions
2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
efb659f0ac Device: sort includes 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
ae51ecc659 Add Device::ResumeTransports 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
da1c9e4400 Rename Device::UnblockTransports to Device::InterruptTransports 2023-02-22 20:55:15 +01:00
Piotr Konopka
9389030835 Warn when going to try allocate a shmem message more times 2022-11-18 09:36:52 +01:00
Alexey Rybalchenko
7697f2f4b1 Extend error message if channel(s) was not configured before timeout 2022-11-17 11:03:59 +01:00
Alexey Rybalchenko
87baf9749d Make invalid channel initialization cancellable through pending state 2022-11-17 11:03:59 +01:00
Alexey Rybalchenko
a8b7ebef09 Add operator<< to fair::mq::Channel 2022-11-17 11:03:59 +01:00
Alexey Rybalchenko
ed364a4857 shm: error on duplicate region IDs 2022-10-05 09:13:37 +02:00
Alexey Rybalchenko
9a25c4d28a shm: refactor UnamangedRegion: rename fRemote to fController 2022-10-05 09:13:37 +02:00
Alexey Rybalchenko
19e40bd32e shm: Improve debug output a bit 2022-10-05 09:13:37 +02:00
Dennis Klein
126475e7d2 feat(tools): Add macro to instruct the compiler to always inline 2022-09-14 07:37:52 +02:00
Dennis Klein
6eb973235a build: Add feature flag FAIRMQ_HAS_STD_PMR
Currently Clang (libc++) does not implement <memory_resource>.
2022-09-14 07:37:52 +02:00
Dennis Klein
904037d9be fix(shm): Handle pre-conditions 2022-09-14 07:37:52 +02:00
Alexey Rybalchenko
de09018198 Shm: fix region init with external regions 2022-09-09 15:11:12 +02:00
Alexey Rybalchenko
46e568c55e shm: add some debug output 2022-09-09 15:11:12 +02:00
Alexey Rybalchenko
75e68e3e4d fix(shm): Fix incorrect parameters when mapping regions 2022-09-06 07:57:45 +02:00
Alexey Rybalchenko
4587af2eb4 fix(shm): race/deadlock in region locks 2022-08-19 12:24:35 +02:00
Dennis Klein
b3395ef26e build: ABI version is defined to be equal to the API version 2022-08-12 01:50:14 +02:00
Dennis Klein
a48344bb03 fix(tidy): Regex 2022-08-12 01:50:14 +02:00
Dennis Klein
9297308f8a fix(tidy): Only emit diagnostic if source location is valid 2022-08-12 01:50:14 +02:00
Dennis Klein
c3fdc8c08c fix(zeromq): Leaking monitor socket messages 2022-08-12 01:50:14 +02:00
Dennis Klein
4ae68b63e9 fix: Remove long obsolete hotfix version component 2022-08-12 01:50:14 +02:00
Dennis Klein
640becc436 build: Use kebab-case library names in install tree 2022-08-11 15:30:25 +02:00
Dennis Klein
ca420a0e0d feat(plugins): Allow kebab-case plugin names, e.g. libfairmq-plugin-pmix
Camel+snake-case plugin names are still allowed! e.g. `libFairMQPlugin_pmix`
2022-08-11 15:30:25 +02:00
Dennis Klein
b798b1e098 test: Increase robustness of the test suite for high -j 2022-08-11 15:30:25 +02:00
Dennis Klein
cfc6090405 build!: Create a single library again
BREAKING CHANGE: Removes exported targets FairMQ::Tools and
FairMQ::StateMachine. However, it is unlikely those were used
by anyone.
2022-08-11 15:30:25 +02:00
Dennis Klein
12a85c6fb1 fix: Use namespaced typenames/headers 2022-08-11 15:30:25 +02:00
Dennis Klein
0959095a39 feat: Deprecate non-namespaced headers
For more details see https://github.com/FairRootGroup/FairMQ/discussions/423
2022-08-11 15:30:25 +02:00
Dennis Klein
9ad9393d44 feat: Deprecate non-namespaced typenames
For more details see https://github.com/FairRootGroup/FairMQ/discussions/423
2022-08-11 15:30:25 +02:00
Dennis Klein
cda7282422 feat!: Remove deprecated components sdk, sdk_commands, dds_plugin
BREAKING CHANGE: Components have been moved to ODC project, see
https://github.com/FairRootGroup/FairMQ/discussions/392 for details.
2022-08-11 15:30:25 +02:00
Alexey Rybalchenko
226733c653
Reduce severity of the missing channel cfg on command line
It is a valid use case to create the config programmatically at a later stage.
2022-06-22 14:04:43 +02:00
Alexey Rybalchenko
b06efc401e shm: Monitor: Add region/segment presence check function 2022-06-22 13:31:51 +02:00
Alexey Rybalchenko
2500771689 shm: ResetContent(): reset data after recreating the metadata 2022-05-28 14:46:21 +02:00
Alexey Rybalchenko
d2aa3b6bb0 shm: open managament data as read only during cleanup 2022-05-28 14:46:21 +02:00
Alexey Rybalchenko
00df117c7c Shm::Monitor: add nullptr check for segment info 2022-05-28 14:46:21 +02:00