Dennis Klein
dcea48fcee
fix: parse errors
...
```
/test/memory_resources/_memory_resources.cxx: In member function ‘virtual void {anonymous}::MemoryResources_allocator_Test::TestBody()’:
/test/memory_resources/_memory_resources.cxx:104:12: error: parse error in template argument list
104 | config.SetProperty<string>("session", to_string(session));
| ^~~~~~~~~~~~~~~~~~~
/test/memory_resources/_memory_resources.cxx:104:31: error: no matching function for call to ‘fair::mq::ProgOptions::SetProperty<<expression error> >(const char [8], std::string)’
104 | config.SetProperty<string>("session", to_string(session));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/dklein/projects/FairMQ2/test/memory_resources/_memory_resources.cxx:11:
/fairmq/ProgOptions.h:269:6: note: candidate: ‘template<class T> void fair::mq::ProgOptions::SetProperty(const std::string&, T)’
269 | void fair::mq::ProgOptions::SetProperty(const std::string& key, T val)
| ^~~~
/fairmq/ProgOptions.h:269:6: note: template argument deduction/substitution failed:
/test/memory_resources/_memory_resources.cxx:104:31: error: template argument 1 is invalid
104 | config.SetProperty<string>("session", to_string(session));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/test/memory_resources/_memory_resources.cxx: In member function ‘virtual void {anonymous}::MemoryResources_getMessage_Test::TestBody()’:
/test/memory_resources/_memory_resources.cxx:132:12: error: parse error in template argument list
132 | config.SetProperty<string>("session", to_string(session));
| ^~~~~~~~~~~~~~~~~~~
/test/memory_resources/_memory_resources.cxx:132:31: error: no matching function for call to ‘fair::mq::ProgOptions::SetProperty<<expression error> >(const char [8], std::string)’
132 | config.SetProperty<string>("session", to_string(session));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/fairmq/ProgOptions.h:269:6: note: candidate: ‘template<class T> void fair::mq::ProgOptions::SetProperty(const std::string&, T)’
269 | void fair::mq::ProgOptions::SetProperty(const std::string& key, T val)
| ^~~~
/fairmq/ProgOptions.h:269:6: note: template argument deduction/substitution failed:
/test/memory_resources/_memory_resources.cxx:132:31: error: template argument 1 is invalid
132 | config.SetProperty<string>("session", to_string(session));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2025-06-13 08:17:53 +02: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
Alexey Rybalchenko
39cb021827
Add 'no control' controller
2024-02-19 22:09:54 +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
Dennis Klein
961eca5276
test(PluginServices): state change subscription thread-safety
2023-11-10 13:13:13 +01:00
Alexey Rybalchenko
6122010694
Fix address clashes in tests
2023-10-24 15:22:21 +02:00
Alexey Rybalchenko
4310d07ed1
deduplicate ipc address in a test
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
25614e3e06
test: Add coverage for --shm-metadata-msg-size
2023-06-13 21:24:40 +02:00
Alexey Rybalchenko
3decac58fc
test: Add data transfer and checks to protocol tests
2023-06-13 21:24:40 +02:00
Dennis Klein
c8fde17b6a
ci: Silence lsan hits in libzmq
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
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
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
c2fa2e8848
test: Deduplicate code and fix [-Wunused-result]
2023-03-01 15:39:38 +01:00
Dennis Klein
b25c0787c0
test: Fix [-Wunused-result]
2023-03-01 15:39:38 +01:00
Dennis Klein
84de22f80b
test: Consolidate some device control logic
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
Alexey Rybalchenko
45663189a9
Turn shm-monitor off by default
...
resolves #459
2023-02-24 14:28:18 +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
ac661dfd63
Add test for externally (outside the session) created shmem region
2022-10-05 09:13:37 +02:00
Dennis Klein
9a51c7b5fb
ci: Update and use images from ghcr.io/fairrootgroup/fairmq-dev
2022-08-12 01:50:14 +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
ac1904661a
test(channel): Increase sleep time
...
The logic of the GetNumberOfConnectedPeers test case relies on sleeping
a certain time. We have observed the 10ms sleep time to sometimes be too
short. Increasing it to 100ms should improve test stability.
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
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
Dennis Klein
eb9ddc81cf
ci: Run thread sanitizer with clang++
2022-03-21 16:28:43 +01:00
Dennis Klein
3b2ad1f6f4
ci: Add Fedora 35 build
2022-03-21 16:28:43 +01:00
Alexey Rybalchenko
b747a8787c
shm: check region size when opening existing
2022-02-08 09:09:25 +01:00
Alexey Rybalchenko
5f33401d41
Parallelize more tests
2022-01-25 11:55:38 +01:00
Alexey Rybalchenko
f4d39d224b
Avoid fixed ports in the test suites
2022-01-25 11:55:38 +01:00
Alexey Rybalchenko
bfd08bb33f
Don't use to-be-deprecated names
2022-01-24 06:40:24 +01:00
Alexey Rybalchenko
692576a5b1
shm: add APIs for implementing keep-alive process
2021-12-16 16:27:07 +01:00
Alexey Rybalchenko
dbdf17c661
Avoid accessing Device.fChannels directly, use getters
2021-11-03 20:23:40 +01:00
Dennis Klein
fda8126a43
feat: Add new GetNumberOfConnectedPeers() API
2021-10-19 10:22:19 +02:00
Dennis Klein
55a2cfcc37
ci: Add macos-11-arm64 (apple-clang-13) build
2021-10-01 17:08:50 +02:00
Alexey Rybalchenko
153dcfab94
Apply modernize-use-override
2021-09-27 12:04:07 +02:00
Alexey Rybalchenko
ad824b4de1
Define copy/move ctors and assignment ops
...
Delete special member functions where they are not used.
(as part of applying suggestions from cppcoreguidelines-special-member-functions)
These classes don't need to be copyable/movable:
# copy/move not used:
zmq:: TransportFactory, Socket, Message, UnmanagedRegion, Poller, Context
shm:: TransportFactory, Socket, Message, UnmanagedRegion, Poller
ofi:: TransportFactory, Socket, Message, Context
shm:: ZMsg, Region, Monitor, TerminalConfig, Manager
plugins:: Config, Control, TerminalConfig
fairmq::StateQueue, StateMachine, ProgOptions, PluginServices, PluginManager, Plugin, Device, StateSubscription
TestData, BadDevice, TestDevice (test suite heplers)
# used via ptr interface:
fairmq::UnmanagedRegion, TransportFactory, Socket, Poller, Message
These classes need to be movable/copyable:
MyClass (test suite helper), fairmq::Channel, fairmq::Parts
2021-09-27 12:04:07 +02:00
Dennis Klein
42a7e298c0
ci: Update build environments
2021-09-24 14:16:44 +02:00
Alexey Rybalchenko
bce380d871
Implement shmem msg zero-copy
2021-09-07 20:53:16 +02:00
Alexey Rybalchenko
c57410b820
Extend test for empty messages
2021-09-07 20:53:16 +02:00
Dennis Klein
4e8f247a0d
fix: First round of using new non-namespaced typenames
2021-09-07 20:53:16 +02:00
Alexey Rybalchenko
03ba9eb558
Add --shm-zero-segment-on-creation option
2021-07-16 09:40:17 +02:00
David Rohr
a6193a380d
Add --shm-mlock-segment-on-creation option
2021-07-16 09:40:17 +02:00
Dennis Klein
38f9870893
ci: Run additional checks
2021-07-07 14:43:32 +02:00
Dennis Klein
08d72d492a
test(sdk): Rename sdk/test_topo.xml to something less confusing
2021-07-07 14:43:32 +02:00
Dennis Klein
787a0a8748
test: Increase log level
2021-07-07 14:43:32 +02:00
Dennis Klein
e2de214a19
fix(sdk): Silence boost warnings
2021-07-07 14:43:32 +02:00
Alexey Rybalchenko
4fdf9d340b
Fix stack-use-after-scope
2021-06-24 14:11:43 +02:00