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
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
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
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
4af0954ae9
Shm: fix unused value
2023-03-02 19:12:29 +01:00
Alexey Rybalchenko
8f5efdf74c
Extend shmem docs
2023-02-24 14:28:18 +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
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
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
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
Alexey Rybalchenko
29827f0426
Shm: bring back thread-safety for fRegions (intra-process)
2022-02-16 23:17:04 +01:00
Alexey Rybalchenko
8efe7adf0e
Shm: fix number of region events
2022-02-16 23:17:04 +01:00
Alexey Rybalchenko
b747a8787c
shm: check region size when opening existing
2022-02-08 09:09:25 +01:00
Alexey Rybalchenko
1a75141fc4
shm: allow monitor::ResetContent to cleanup after a crash
2022-02-02 10:49:00 +01:00
Alexey Rybalchenko
2f82eb4f09
shm: monitor: disable number of msgs in the ack queue output
2022-02-02 10:49:00 +01:00
Alexey Rybalchenko
92a56c26bc
shm: remove UR queues on ResetContent
2022-02-02 10:49:00 +01:00
Alexey Rybalchenko
4f9aeda8ec
shm: Add size to UnmanagedRegion debug output
2022-02-02 10:49:00 +01:00
Alexey Rybalchenko
bfd08bb33f
Don't use to-be-deprecated names
2022-01-24 06:40:24 +01:00
Alexey Rybalchenko
ddf9bc7272
shm: keep mng segment around when skipping cleanup
2022-01-12 19:54:49 +01:00
Alexey Rybalchenko
f79a0714b4
shm: fix double unlock()
2022-01-12 19:54:49 +01:00
Alexey Rybalchenko
c04958e2a4
shm: reduce contention on region events
2022-01-10 19:42:08 +01:00
Alexey Rybalchenko
692576a5b1
shm: add APIs for implementing keep-alive process
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
eb4620b1ec
shm: always open_or_create segment
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
9f9583eb55
shm: hide picosha2 from header
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
08ba068791
shm: remove unused member
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
1839f7e8c0
shm: integrate mtx and cv into management segment
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
80ed45df63
extend region config
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
eef42d2dea
simplify region cleanup
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
d630fbb1e4
consolidate UnmanagedRegion options
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
953c4a75c8
refactor: deduplicate more zmq/shmem code
2021-12-06 09:45:39 +01:00
Dennis Klein
fda8126a43
feat: Add new GetNumberOfConnectedPeers() API
2021-10-19 10:22:19 +02:00