Giulio Eulisse
3c1723fc54
Allow sorting StateChange callbacks
...
If the key of the callback is a number, it will be used to invoke
callbacks with the correct ordering.
2023-09-06 09:49:30 +02:00
Giulio Eulisse
7ceccdeaa6
Print actual address we are trying to bind.
2023-06-29 12:28:23 +02:00
Dennis Klein
bfc665d76e
feat: Make the channel AutoBind default configurable
2023-06-26 11:56:24 +02:00
Dennis Klein
f278e7e312
feat: Add new tunable --shm-metadata-msg-size
...
The shm metadata msg will be right-padded to the given size. This
tunable may be used to saturate the kernel msg buffers more quickly with
the effect that the ZeroMQ message queue size - on which the FairMQ
shmem transport relies upon - behaves more accurately for very small
queue sizes.
This introduces a change for the meta msg format in the multipart case:
old: | MetaHeader 1 | ... | MetaHeader n |
new: | n | MetaHeader 1 | ... | MetaHeader n | padded to fMetadataMsgSize |
where `n` is a `size_t` and contains the number of following meta headers.
Previously, this number was infered from the msg buffer size itself which is
no longer possible due to the potential padding.
Implements #432
2023-06-13 21:24:40 +02:00
Dennis Klein
491a943c63
feat: Use zmq_msg_send
for single message Send
2023-06-13 21:24:40 +02:00
Dennis Klein
c47fc6f9fe
feat: Move ZMsg
to fair::mq::zmq
...
Implement move semantics.
2023-06-13 21:24:40 +02:00
Giulio Eulisse
7b259afdb5
Fix -Wunqualified-std-cast-call
2023-06-13 21:24:40 +02:00
Dennis Klein
8960ce9416
fix: Use std::chrono
consistently
2023-03-06 15:32:48 +01:00
Dennis Klein
05b734ee0d
feat!: Migrate to std::filesystem
consistently
2023-03-06 15:32:48 +01:00
Alexey Rybalchenko
f2dce91098
Make Error classes header only
2023-03-03 12:49:37 +01:00
Alexey Rybalchenko
4af0954ae9
Shm: fix unused value
2023-03-02 19:12:29 +01:00
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