Giulio Eulisse
67dcf77a7f
De-boostify: use std::pmr from C++17
2025-06-13 08:02:06 +02:00
Alexey Rybalchenko
24e7a5b8d0
Make shmem headers public
2025-03-17 15:16:46 +01:00
Giulio Eulisse
c11506e958
feat(EventManager): Out of line some methods
2025-01-23 15:35:26 +01:00
Dennis Klein
e4f258c9ea
fix: Update copyright
2025-01-09 17:09:57 +01:00
Dennis Klein
324a27a2e1
fix(tools): No longer use removed alias io_service
...
Deprecated via d3bbf3756d
and removed via 49fcd03434
in Boost 1.87 or Asio 1.33.
2025-01-09 17:09:57 +01:00
Dennis Klein
c80f97b338
fix(tools): No longer use removed query
API
...
Deprecated via 74fe2b8e14
and removed via e916bdfb1a
in Boost 1.87 or Asio 1.33.
2025-01-09 17:09:57 +01:00
Giulio Eulisse
fe2127e12f
Reduce bloat due to statics
...
Avoid disseminating every compile unit including Message.h with TransportNames and
TransportTypes and the associated unordered_map helper methods (e.g.
murmur_hash).
2025-01-07 17:41:30 +01:00
Giulio Eulisse
41165cf16b
Out of line ProgOption::SetProperty for int and std::string
...
The specializations are common enough to show up in O2 compilation profiles
and they are not time critical (once per run at max).
2025-01-07 17:34:22 +01:00
Giulio Eulisse
91b31f0799
Hide actual container from the API
2024-05-23 15:54:24 +02:00
Alexey Rybalchenko
39cb021827
Add 'no control' controller
2024-02-19 22:09:54 +01:00
Alexey Rybalchenko
0e221b28b8
shm: use node_allocator for ref counts
2024-01-25 10:45:34 +01:00
Alexey Rybalchenko
1ee0977df4
shm: use (de)allocate_one() for ref counts
2024-01-25 10:45:34 +01:00
Alexey Rybalchenko
24d578a4ba
shm: extend monitor output for refCount region
2024-01-25 10:45:34 +01:00
Alexey Rybalchenko
2df3d909fa
shm: when refCount segment size is zero, fallback to old behaviour
...
, which is to store reference counts inside the main data segment
2023-11-29 19:21:42 +01:00
Alexey Rybalchenko
58ffdfd1f4
Remove unused ctor and constant
2023-11-29 19:21:42 +01:00
Alexey Rybalchenko
faf577086a
shm: fix initialization of rc segment when region is created externally
2023-11-24 14:19:21 +01:00
Alexey Rybalchenko
ff1f9b94ef
shm: include rcCountSegment free memory in the monitor output
2023-11-24 14:19:21 +01:00
Alexey Rybalchenko
7567a10513
shm: Bump the ref segment size 10x
2023-11-15 12:52:14 +01:00
Alexey Rybalchenko
424e22b41a
shm: Throw RefCountBadAlloc if insufficient space in the ref count segment
2023-11-15 12:52:14 +01:00
Alexey Rybalchenko
fbb6577625
StateMachine: Guard access to subscription containers
2023-11-10 13:13:13 +01:00
Giulio Eulisse
b40db42196
Use std::move rather than just move
...
Apparently:
"warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call]"
is default in new XCode.
2023-10-23 08:00:23 +02:00
Giulio Eulisse
f732b87def
Drop unused variable
...
The else clause at the end makes the postincrement impossible.
2023-10-23 08:00:23 +02:00
Alexey Rybalchenko
f05a09da5a
shm: Message: refactor ctors
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
5aa6c99442
shm: remove alignment member from Message
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
3c714fd9e0
Message::SetUsedSize: add optional alignment argument, to avoid storing alignment with the msg object
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
1b7532a520
Refactor shm::Message to contain sorted members of MetaHeader
...
Move the members of MetaHeader flat into shmem::Message and sort them by
size to reduce the size of the class.
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
f092b94c96
Update comment
2023-10-04 11:25:47 +02:00
Alexey Rybalchenko
8d28824489
Shm: Use MakeShmName to construct shm object names
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
7bd31f8ff0
apply readability-else-after-return
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
1a0ab3a4e2
shm: Ref counting for unmanaged regions in a dedicated segment
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
cacf69d5f6
Replace boost::variant with std::variant
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
68038c4693
shm: Move ShmHeader into Common.h
2023-09-29 11:18:24 +02:00
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