Alexey Rybalchenko
856780f88a
fix: install tools/Exceptions.h
2021-11-12 13:20:48 +01:00
Alexey Rybalchenko
dbdf17c661
Avoid accessing Device.fChannels directly, use getters
2021-11-03 20:23:40 +01:00
Alexey Rybalchenko
a3bb5fb4b0
feat: Add Device::GetNumSubChannels(channel)
2021-11-03 20:23:40 +01:00
Alexey Rybalchenko
0eaea3c66f
Do not catch and rethrow exception from state handlers
2021-11-03 20:23:40 +01:00
Alexey Rybalchenko
ebcbe2dde6
feat: Add interactive controller button to print connected peers
2021-10-19 10:22:19 +02:00
Dennis Klein
fda8126a43
feat: Add new GetNumberOfConnectedPeers() API
2021-10-19 10:22:19 +02:00
Dennis Klein
8796ce5b20
feat: Add new assertm macro
...
This allows to add a message to the assertion which can improve
readability of error diagnostics.
2021-10-19 10:22:19 +02:00
Dennis Klein
b8503bfbd5
fix: Deprecate Message::Close because it is really a dtor
2021-10-19 10:22:19 +02:00
Dennis Klein
7329cb4428
refactor: Deduplicate GetConstant()
...
* Deprecate its old name in the Socket classes
2021-10-19 10:22:19 +02:00
Dennis Klein
e84a16da88
fix: warning readability-braces-around-statements
2021-10-19 10:22:19 +02:00
Dennis Klein
1a5d0eddbe
fix: Silence false positive cppcoreguidel-pro-bounds-array-to-pointer-decay
2021-10-19 10:22:19 +02:00
Alexey Rybalchenko
5fe2f53c7b
feat: add tool for noncanonical input
2021-10-08 09:42:28 +02:00
Alexey Rybalchenko
d7fb01908c
fix(shm): fix regression in debug mode data
2021-10-08 09:42:28 +02:00
Alexey Rybalchenko
1449166d44
feat: add options to control allocation attempts
2021-10-08 09:42:28 +02:00
Alexey Rybalchenko
36600dce2c
Apply clang-diagnostic-unused-private-field
2021-09-27 12:04:07 +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
Alexey Rybalchenko
597d88277b
Apply clang-analyzer-optin.performance.Padding
2021-09-27 12:04:07 +02:00
Alexey Rybalchenko
9590b5be40
Apply readability-static-accessed-through-instance
2021-09-27 12:04:07 +02:00
Alexey Rybalchenko
cf9b45cd75
Apply cppcoreguidelines-avoid-non-const-global-variables
2021-09-27 12:04:07 +02:00
Alexey Rybalchenko
1ee9d2d222
Apply misc-unused-alias-decls
2021-09-27 12:04:07 +02:00
Alexey Rybalchenko
310204a89d
Apply performance-faster-string-find
2021-09-27 12:04:07 +02:00
Alexey Rybalchenko
f33c597f34
Apply readability-avoid-const-params-in-decls
2021-09-27 12:04:07 +02:00
Alexey Rybalchenko
efca8e0ad4
fix(pmix): Avoid deprecated value
2021-09-24 13:36:58 +02:00
Alexey Rybalchenko
1ac30b51b1
fix(pmix): compiler warning infinite-recursion
2021-09-24 13:36:58 +02:00
Alexey Rybalchenko
2934016586
fix(pmix): ler warning string-plus-int
2021-09-24 13:36:58 +02:00
Alexey Rybalchenko
e484bf4578
Shm: Fix SetUsedSize()
2021-09-20 13:29:28 +02:00
Dennis Klein
b442483dc3
fix: Deprecate static string helper
2021-09-09 18:01:55 +02:00
Dennis Klein
727a709aff
fix: -Winfinite-recursion
2021-09-09 18:01:55 +02:00
Alexey Rybalchenko
bce380d871
Implement shmem msg zero-copy
2021-09-07 20:53:16 +02:00
Alexey Rybalchenko
815b2f1d76
shm: reimplement alignment
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
Dennis Klein
24fbf94946
build: Use fairmq-tidy on our own codebase when RUN_FAIRMQ_TIDY=ON
2021-09-07 20:53:16 +02:00
Dennis Klein
dff2b4b7d1
feat(tidy): Add new FairMQTidy.cmake module
2021-09-07 20:53:16 +02:00
Dennis Klein
9cbaf7e0fd
feat(tools): Move the error code to the Tools target
2021-09-07 20:53:16 +02:00
Dennis Klein
db727092c5
feat(tidy): Add new fairmq-tidy tool
2021-09-07 20:53:16 +02:00
Dennis Klein
8e6c50e7cc
refactor: Prepare deprecation of non-namespaced types and headers
2021-09-07 20:53:16 +02:00
Alexey Rybalchenko
db0500fb2d
Protect access to options container
2021-07-30 16:07:47 +02:00
Dennis Klein
479d6e0712
feat: Add <fairmq/FwdDecls.h>
2021-07-16 18:47:55 +02:00
Dennis Klein
8859c563ac
build: Pick shared flatbuffers lib first
...
relates alisw/alidist#3165
2021-07-16 18:03:47 +02:00
Dennis Klein
e3d3be888f
feat: Add new function GetEnabledTransports()
...
* Also clang-format
2021-07-16 12:31:17 +02:00
Dennis Klein
0c4921d650
feat: Drop public bundled dependency to asio
2021-07-16 12:31:17 +02:00
Dennis Klein
1007de8e49
feat(ofi): Require asiofi 0.5
...
* Modernize some ofi transport code along the way
* Replace Boost.Container with `<memory_resource>`
* Introduce namespaced headers
* `<fairmq/Channel.h>`
* `<fairmq/Message.h>`
* `<fairmq/Poller.h>`
* `<fairmq/Socket.h>`
* `<fairmq/TransportFactory.h>`
* `<fairmq/UnmanagedRegion.h>`
* Compile-firewall Boost.Process in `shmem::Manager` because it conflicts
with standalone asio
2021-07-16 12:31:17 +02:00
Dennis Klein
9585c20b7f
feat: Drop public dependency to Boost.Asio and use standalone asio
2021-07-16 12:31:17 +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
e2452fa7e4
fix(plugins): Avoid double device control releases
...
This was not really broken, but it generated a debug log message
containing the keyword 'error' consistently, which is convoluting any
debugging session.
This commit also adds some trace log message on plugin device control
API calls.
2021-07-07 14:43:32 +02:00
Dennis Klein
1df338b262
feat: Require DDS 3.5.13.7
2021-07-07 14:43:32 +02:00
Dennis Klein
81b1ba1f20
fix(sdk): Avoid narrowing conversion
2021-07-07 14:43:32 +02:00
Dennis Klein
e2de214a19
fix(sdk): Silence boost warnings
2021-07-07 14:43:32 +02:00
Dennis Klein
09d2574105
feat(sdk): Remove unused fairmq executable
2021-07-07 14:43:32 +02:00
Dennis Klein
8533a44418
test: Adjust test signal timer
...
With shorter timing the tests were failing sometimes.
2021-07-07 14:43:32 +02:00
Dennis Klein
42606f9f17
build: Add missing compile feature
2021-07-07 14:43:32 +02:00
Dennis Klein
8bf9e1d0a6
build: Do not hardcode include dirs
2021-07-07 14:43:32 +02:00
Alexey Rybalchenko
c5e40fd180
shmmonitor: handle missing segmentInfos
2021-07-02 01:40:57 +02:00
Alexey Rybalchenko
ac3293fcc6
Fix heap-use-after-free
2021-06-24 14:11:43 +02:00
Alexey Rybalchenko
4fdf9d340b
Fix stack-use-after-scope
2021-06-24 14:11:43 +02:00
Alexey Rybalchenko
5c9ba5e5b4
shm: avoid meta data copy on recv and fix its alignment
2021-06-24 14:11:43 +02:00
Alexey Rybalchenko
4dbb5535c3
Add empty msg check for transport compatibility checker
2021-06-24 14:11:43 +02:00
Alexey Rybalchenko
a8bdb91165
shm: throw TransportError if could not lock region
2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
37c059177f
shm: improve exception handling
2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
28a887a457
shm: optimize monitor heartbeats
2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
3c4158addb
Remove useless code
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
882edbbdb8
Apply modernize-pass-by-value
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
c847a7ca02
Apply readability-container-size-empty
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
f25cca2073
Apply clang-analyzer-deadcode.DeadStores
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
6aeac265ec
Apply modernize-use-equals-default
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
9444de5868
Apply readability-redundant-member-init
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
acf63d3c1b
Apply modernize-use-default-member-init
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
e1b229522c
Apply modernize-deprecated-headers
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
ccbd622130
Apply cppcoreguidelines-init-variables
2021-05-28 13:14:51 +02:00
Christian Tacke
7616b0b0aa
CMake: Set CXX language level via target_compile_features()
...
See: https://gitlab.kitware.com/cmake/cmake/-/issues/18446
See: https://cmake.org/cmake/help/latest/manual/cmake-compile-features.7.html#requiring-language-standards
2021-05-28 10:38:14 +02:00
Dennis Klein
ed78ccd29c
CMake: Remove cotire dependency
...
CMake now has native unity build support:
https://cmake.org/cmake/help/latest/variable/CMAKE_UNITY_BUILD.html
2021-05-28 10:38:14 +02:00
Dennis Klein
d15bc17b12
extern/asio: Bump and require v1.18.1
2021-05-28 10:38:14 +02:00
Dennis Klein
ce0a052252
SDK: Add missing header <thread>
2021-05-28 10:38:14 +02:00
Alexey Rybalchenko
9bf908fb52
shm: revert some changes from c85d6e0
that introduced a race
2021-05-20 00:40:58 +02:00
Alexey Rybalchenko
021c1b1c4d
shm: add monitor method to retrieve free segment memory
2021-05-18 14:05:12 +02:00
Alexey Rybalchenko
a7dbeadd1c
runDevice: remove const from getDevice parameter
2021-05-13 23:00:35 +02:00
Alexey Rybalchenko
e6f67b3658
Fix Ofi interface
2021-05-07 21:59:52 +02:00
Alexey Rybalchenko
091d0824d1
ofi: fix Events() signature
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
857aa84fa3
add mlock/zero options to unmanaged region
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
c85d6e079c
shm: reduce shm contention when dealing with ack queues
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
8b4056e408
Update docs
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
b67b80e0ad
shmmonitor: add severity setting
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
2c89b24857
shm: eliminate race/deadlock in region subscriptions
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
c6a6a5f21b
Check transport type of msg and corresponding region
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
9defa71622
Add GetType() to UnmanagedRegion
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
ed2dcedf03
Add operator<< for fair::mq::Transport
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
8a2641d842
shm: check result of region acquisition
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
2ca62d06db
shm region cache: fix multiple sessions issue
2021-05-07 14:20:00 +02:00
Gvozden Neskovic
ef5b3c782e
improve message counter cache line use
2021-05-07 14:20:00 +02:00
Gvozden Neskovic
f7ba3052aa
use thread local cache to avoid interprocess lock on shm GetData
2021-05-07 14:20:00 +02:00
Dennis Klein
a90dbf64de
Fix -Wunused-result
...
Fixes #281
2021-05-07 13:18:12 +02:00
Dennis Klein
057ba03776
PluginManager: Do not load built-in plugins via dlopen/dlsym
...
fixes #351
2021-05-05 03:52:12 +02:00
Giulio Eulisse
6dfea32aee
Improve Events API
...
If the call is interrupted by a signal, this will throw, which we clearly do not want. Simplifying the API to let the user decide what to do on error is probably the best option.
2021-05-04 22:54:19 +02:00
Dennis Klein
ea9aede652
Fallback to <boost/filesystem> on GCC 7
2021-04-08 16:22:47 +02:00
Alexey Rybalchenko
77bf12c8e8
docs patch
2021-04-08 12:38:18 +02:00
Alexey Rybalchenko
f3bc9e05a8
shmmonitor: update docs
2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
5facc441b8
shmmonitor: add --list-all
2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
2602f53585
Add tools: StrStartsWith, StrEndsWith
2021-04-08 10:11:23 +02:00