Dennis Klein
0f5e1b6815
Tests.SDK: Reduce timeout by factor 1000 because new machines can be fast enough to complete within 1ms
2020-09-16 15:43:58 +02:00
Alexey Rybalchenko
6932f88c84
Adjust transfer methods behaviour when interrupted
...
A transer is attempted even if the transport has been interrupted
(with a timeout). When the timeout is reached, transfer methods will
return TransferResult::interrupted (-3).
2020-09-16 15:43:58 +02:00
Alexey Rybalchenko
5e97d85956
Cleanup includes
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
fdbf289364
Update monitor & debug tools for multiple segments
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
266843cda5
Shm: initial multiple segments support
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
b126ede45a
Shm: Verbosity switch for Cleanup methods
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
12e6a874db
Remove built-in devices from the main lib
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
73109fe6d3
Shm: configurable allocation strategy
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
3b2d2a0ac8
Shm: Refactor to localize segment access
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
72a45f78b3
Shm: Add Monitor::GetDebugInfo()
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
b63f31d0e0
Shm: Provide debug infos only in debug mode
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
70a583d08d
Shm: Provide segment/msg debug infos
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
fe9b87e4e2
Improve error reporting in SDK/fairmq-dds-command-ui
2020-09-07 12:52:43 +02:00
Alexey Rybalchenko
2ac27905e7
Move fairmq-dds-command-ui to SDK
2020-09-03 17:34:05 +02:00
Alexey Rybalchenko
690e8a0370
Retry on EINTR in blocking zmq calls
2020-08-28 18:22:03 +02:00
Alexey Rybalchenko
62ed4e5f80
Avoid unconditional call to now() when allocating message
2020-08-13 14:16:12 +02:00
neskovic@gmail.com
f1d6b18668
Message counter: use relaxed/acquire memory ordering
2020-08-13 11:49:55 +02:00
Alexey Rybalchenko
c0153a6b55
shmMonitor: Adjust output slightly
2020-08-07 14:27:14 +02:00
Alexey Rybalchenko
86a1dd38a2
ShmMonitor: Use FairLogger for timestamp calculation
2020-08-07 14:27:14 +02:00
Alexey Rybalchenko
b0f73017e2
shmmonitor: add output with -v (non-interactive)
2020-08-06 12:24:01 +02:00
Alexey Rybalchenko
b83655d5da
MessageBadAlloc: report amount of available memory
2020-08-06 12:24:01 +02:00
Alexey Rybalchenko
9c27051cdc
BenchmarkSampler: add alignment parameter
2020-08-06 12:24:01 +02:00
Alexey Rybalchenko
65f9519917
Add error handling for mlock
2020-08-06 12:24:01 +02:00
Alexey Rybalchenko
b5545c1575
Add helpers for AggregatedTopologyState
2020-07-17 12:41:53 +02:00
Alexey Rybalchenko
3eca8e9def
Add test for shm transport options
2020-07-15 13:59:53 +02:00
Alexey Rybalchenko
beb7766fca
Shm: add options to zero and/or mlock the segment
2020-07-15 13:59:53 +02:00
Giulio Eulisse
bf909f94dc
ofi: adapt to the new API for FairMQSocket::Events
2020-07-15 13:58:47 +02:00
Dennis Klein
1140c4c6ab
SDK: Provide comparison operator for device and topo states
2020-07-15 13:01:23 +02:00
Alexey Rybalchenko
a6da208e79
Add Undefined and Mixed state for use in SDK
2020-07-15 13:01:23 +02:00
Giulio Eulisse
ba3a82b1df
Update FairMQSocket.h
2020-07-15 12:09:54 +02:00
Giulio Eulisse
e8cc104344
Add API to extract ZMQ_EVENTS from socket backend
2020-07-15 12:09:54 +02:00
Alexey Rybalchenko
5a7dcd9fc1
SDK: warn if given path translates to no selected tasks
2020-07-09 23:34:28 +02:00
Alexey Rybalchenko
78b1c188bf
Shm: report correct size when opening segment
2020-06-30 20:58:53 +02:00
Alexey Rybalchenko
66bc7ba762
Remove useless variable
2020-06-30 20:58:53 +02:00
Alexey Rybalchenko
88bc1f7a06
Shm: throw if requested message size exceeds total segment size
2020-06-30 20:58:53 +02:00
Alexey Rybalchenko
f70201610b
Do not attemp to find random port for non-TCP protocols
2020-06-30 20:58:53 +02:00
Alexey Rybalchenko
8125489776
Handle out_of_range when locating RegionInfo
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
6dd0a44308
Make shmid an 8-digit hex number
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
afe2dcaa02
BenchmarkSampler: add memset option
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
aeab9e5407
Socket.h: refactor to reduce duplicate code
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
539e5602a6
Expose fair::mq::shmem::Monitor::Cleanup() API
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
f885b4618e
Optimize unmanaged region ReceiveAcks
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
3364da9541
Add linger setting for unmanaged region
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
79489bb501
Add missing includes
2020-06-10 13:55:15 +02:00
Alexey Rybalchenko
79ca436b74
Zmq: let GetData of an empty message return nullptr
2020-06-05 18:16:13 +02:00
Alexey Rybalchenko
36d4f3c937
Use SHA2 instead of boost::hash to generate shmem id
2020-06-05 18:16:13 +02:00
Alexey Rybalchenko
bdf895ae9e
Add PicoSHA2 dependency
2020-06-05 18:16:13 +02:00
Giulio Eulisse
dd47b34e06
Add ability to retrieve ZMQ_FD
2020-06-03 19:44:00 +02:00
Alexey Rybalchenko
a59c902c74
MemoryResource: propagate alignment
2020-06-03 19:41:40 +02:00
Alexey Rybalchenko
dabc48c21a
Shm: fix incorrect ptr range check
2020-05-29 23:34:27 +02:00
Alexey Rybalchenko
236d5a8608
Let default shm segm size be multiple of page size
...
To allow potential optimizations (e.g. huge pages)
2020-05-28 17:23:18 +02:00
Alexey Rybalchenko
5008fa4732
Fix regression in handling unregistered options
2020-05-28 17:23:18 +02:00
Alexey Rybalchenko
b5bb476b0d
Adjust program options style to disallow guessing
2020-05-25 14:03:12 +02:00
Giulio Eulisse
ea7ae04025
Adapt to requests by @rbx
2020-05-25 08:36:57 +02:00
Giulio Eulisse
02692e7002
Initiate termination process on SIGTERM as well
2020-05-25 08:36:57 +02:00
Alexey Rybalchenko
53a4d17f8b
Alignment part I - Interface and shmem send
2020-05-20 19:34:27 +02:00
Giulio Eulisse
20544e1f18
Do not handle double SIGTERM as abort
...
A double SIGTERM, or even worse a SIGINT + SIGTERM combination should
not result in an abort, given such a signal really means "die whenever
you want" and can only be generated programmatically. If one wants the
child to die programmatically, they should use SIGKILL.
On the other hand that bashing ctrl-c (i.e. SIGINT) multiple times
on the keyboard really means abort.
2020-05-20 12:14:18 +02:00
Alexey Rybalchenko
0d03c76a75
Shm: throw on bad_alloc, option to disable
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
2916a491b9
Format
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
b56e32eb11
Replace exit()s with exceptions
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
4b516de81a
Minor formatting
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
361fb0cba5
Zmq: refactor to use namespaces
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
df574c6466
Zmq: header only
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
dbdabd23a4
Zmq: remove global (static) state, refactor
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
ccbf0be572
Shmem: refactor, clean includes, make header only
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
7a67719a3c
Remove useless members
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
f4a54ff550
Minor refactoring
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
d22023bcb5
Implement bulk callbacks for unmanaged regions
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
a15d59c725
Remove nanomsg transport
2020-05-11 17:38:16 +02:00
Alexey Rybalchenko
e9318dd234
Add FairMQTransportFactory::GetId()
2020-05-11 12:02:19 +02:00
Alexey Rybalchenko
c8fc5ad33f
Add bool FairMQTransportFactory::SubscribedToRegionEvents()
2020-05-11 12:02:19 +02:00
Alexey Rybalchenko
59e32437a2
shmem region subscriptions: fix race condition
2020-05-11 12:02:19 +02:00
Alexey Rybalchenko
a3afadb824
Call region event callback with local_only event for zmq
2020-05-11 12:02:19 +02:00
Alexey Rybalchenko
9992811822
Implement region events for zmq
2020-05-11 12:02:19 +02:00
Alexey Rybalchenko
4218c185a4
Shmem: Send acks also for local regions
2020-05-04 10:01:29 +02:00
Alexey Rybalchenko
5a49c5b9b1
Truncate the file used for the region mapping
2020-05-04 10:01:29 +02:00
Alexey Rybalchenko
960b612d80
Update docs
2020-04-28 14:47:26 +02:00
Alexey Rybalchenko
e1a113aabe
Add region events subscriptions
2020-04-28 14:09:04 +02:00
Alexey Rybalchenko
5721ea9510
SDK: send heartbeats when subscribed to state changes
2020-04-10 18:40:14 +02:00
Alexey Rybalchenko
330687772f
Add SubscriptionHeartbeat command
2020-04-10 18:40:14 +02:00
Alexey Rybalchenko
7cbd154344
PMIx plugin: Fix Commands API usage
2020-04-07 14:44:51 +02:00
Alexey Rybalchenko
036561ab38
SDK: track state change (un-)subscriptions
2020-04-07 14:44:51 +02:00
Alexey Rybalchenko
274ba5ec00
Commands: Add task id to subscription status cmds
2020-04-07 14:44:51 +02:00
Alexey Rybalchenko
c5efd3e4a6
SDK: minor refactoring of the command handling
2020-04-07 14:44:51 +02:00
Dennis Klein
5788daa410
Plugin manager: extent lifetime of DLLs
2020-04-06 18:42:34 +02:00
Alexey Rybalchenko
adc4688f9b
DDSCommandUI: include path argument in ChangeState
2020-03-30 13:14:12 +02:00
Alexey Rybalchenko
c3127f22e5
SDK: refactor subscription to allow reuse
2020-03-30 13:14:12 +02:00
Alexey Rybalchenko
926ee743ed
DDS plugin: refactor for better readability
2020-03-25 09:53:22 +01:00
Alexey Rybalchenko
c7b1304a2c
DDS plugin: Update property instead of set to avoid errors
2020-03-25 09:53:22 +01:00
Alexey Rybalchenko
32764e1b12
DDS plugin: refactor for better readability
2020-03-25 09:53:22 +01:00
Alexey Rybalchenko
96348b8462
DDS plugin: improve error message on unexpected update
2020-03-25 09:53:22 +01:00
Alexey Rybalchenko
cd83efadea
DDS plugin: refactor to load DDS task id only once
2020-03-25 09:53:22 +01:00
Alexey Rybalchenko
38eb9d22e4
Shmem: more detailed errors on meta data mismatch
2020-03-24 04:07:58 +01:00
Alexey Rybalchenko
a20ac7af08
SDK: Refactor StateChangeOp and add path parameter
2020-03-24 04:07:58 +01:00
Alexey Rybalchenko
539b088ade
DDS Plugin: Simplify subchannel bookkeeping
2020-03-11 14:51:19 +01:00
Dennis Klein
3d4cd02812
Allow undefining LOG macro with FairLogger v1.6.2+
...
Resolves #244
2020-03-10 14:30:23 +01:00
Alexey Rybalchenko
0ae53fd7d9
Throw an error if shmem receives invalid meta data
2020-03-09 14:09:29 +01:00
Alexey Rybalchenko
a545bee3b1
Do not report interruption by system call as error
2020-03-02 13:42:37 +01:00
Alexey Rybalchenko
f00519b99b
PMIx plugin: adapt to updated commands format
2020-02-24 14:41:47 +01:00
Alexey Rybalchenko
41fc27d504
SDK: Update docs
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
ced67d8952
DDS Command UI: remove direct DDS dependency
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
8123a6ecab
QC example: add setting of the property, test if its successful
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
beff0af51b
DDS plugin: fix exiting timeout
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
21835cc104
Revert the session renaming
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
334d81a1ab
SDK: Unsubscribe in the Topology destructor
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
c1719eb285
SDK Commands: remove heartbeat commands
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
fcd1022997
Add session id to DDS commands in dds/qc examples
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
e221242f9a
Use SDK in dds-command-ui
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
e853d121bf
SDK: Add garbage collection for completed ops
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
14d6d717a3
Add qc example
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
119cbe37f1
SDK: Add WaitForState()
2020-02-21 18:37:33 +01:00
Alexey Rybalchenko
0e72a9bf54
SDK::DDSSession: remove channel id to task id association
2020-02-21 18:37:33 +01:00
Dennis Klein
3785fd9ff9
SDK: Support DYLD_LIBRARY_PATH from parent env in sdk::DDSEnv
...
Fixes #235
2020-02-17 19:18:00 +01:00
Dennis Klein
6c63b01cfe
Commands: Add [so]version to and rename installed lib
2020-02-06 15:51:22 +01:00
Dennis Klein
be524d838a
SDK: Add inline docs
2020-01-27 20:50:11 +01:00
Alexey Rybalchenko
92af823135
SDK: Allow passing path to Set/GetProperties
2020-01-27 20:50:11 +01:00
Alexey Rybalchenko
50dacbcdde
SDK: update DDSTopology::GetTasks()
2020-01-27 20:50:11 +01:00
Alexey Rybalchenko
264a178424
SDK: Add Topology::AsyncGetProperties
...
Co-Author: Dennis Klein <d.klein@gsi.de>
2020-01-27 20:50:11 +01:00
Dennis Klein
1c8ad03f3c
SDK: Add Topology::AsyncSetProperties
...
Co-Author: Alexey Rybalchenko <alexryba@gmail.com>
2020-01-27 20:50:11 +01:00
Alexey Rybalchenko
25658370fa
SDK: Add DDSTopology::GetTasksMatchingPath
2020-01-27 20:50:11 +01:00
Alexey Rybalchenko
f42945b3a3
SDK: Allow passing path to DDSSession::SendCommand
2020-01-27 20:50:11 +01:00
Dennis Klein
9544de0647
SDK: Do not require r-value refs
...
I mistakenly thought they were forwarding refs.
2020-01-27 20:50:11 +01:00
Dennis Klein
d608abf31c
Fix -Wpedantic
2020-01-27 20:50:11 +01:00
Alexey Rybalchenko
15de80cfd3
Detect network interface of the default route without use of ip
2020-01-17 16:48:31 +01:00
Dennis Klein
f2da29a650
Update copyright
2020-01-16 20:26:53 +01:00
Alexey Rybalchenko
9f8a3553ba
Avoid deadlock in FairMQChannel operator=, handle self-assignment
2020-01-16 17:17:52 +01:00
Alexey Rybalchenko
692ec4e997
Fix CIDs 350447, 321250 (uncaught exception)
2020-01-16 17:17:52 +01:00
Alexey Rybalchenko
b6d9c949ae
Fix CID 350448 (uncaught exception)
2020-01-16 17:17:52 +01:00
Alexey Rybalchenko
b6791856f9
Fix CID 350451 (uncaught exception)
2020-01-16 17:17:52 +01:00
Alexey Rybalchenko
a1e0814a92
Fix CIDs 350452, 323467 (missing_lock)
2020-01-16 17:17:52 +01:00
Alexey Rybalchenko
38bb14e556
Fix CID 350453 (uninit_member)
2020-01-16 17:17:52 +01:00
Alexey Rybalchenko
7187953604
Fix CID 350455 (uncaught exception)
2020-01-16 17:17:52 +01:00
Alexey Rybalchenko
c290c16896
PMIx: Add commands to plugin and command ui
2020-01-06 20:20:18 +01:00
Dennis Klein
fd2bac3e22
Modernize ctor
...
https://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html#pass-by-value-in-constructors
2020-01-06 20:20:18 +01:00
Alexey Rybalchenko
8e3f25851c
Pass by const ref
2020-01-06 20:20:18 +01:00
Alexey Rybalchenko
684e711b8b
Shmem: track number of message objects, throw if non-zero at reset
2019-12-20 14:04:58 +01:00
Alexey Rybalchenko
462a93b58b
Add multipart arguments to the benchmark script
2019-12-20 14:04:58 +01:00
Alexey Rybalchenko
a2cff5b7bb
Shmem: simplify message/socket and refactor to use namespaces
2019-12-20 14:04:58 +01:00
Alexey Rybalchenko
b2e027478e
shmem: properly initialize received multipart messages
2019-12-16 21:17:06 +01:00
Dennis Klein
f195eeac66
Silence warning: unused variable 'a' [-Wunused-variable]
2019-12-13 14:52:36 +01:00
Dennis Klein
4d1e7b9cdb
Fix AppleClang 10.0.1 support with Boost.Asio <= 1.68
2019-12-13 14:52:36 +01:00
Dennis Klein
50be386191
Support and require DDS 3.0
2019-12-13 14:52:36 +01:00
Alexey Rybalchenko
f31be6d7a1
Update to new DDS API, bump required version
2019-12-04 15:30:45 +01:00
Alexey Rybalchenko
5607d47664
DDSCommandUI: add support for more commands
2019-12-03 15:44:25 +01:00
Alexey Rybalchenko
0f4595b8c1
Remove TransitionTo from plugin APIs
2019-12-03 15:44:25 +01:00
Alexey Rybalchenko
b0b271d1f4
DDS plugin: remove static mode
2019-12-03 15:44:25 +01:00
Alexey Rybalchenko
073f5e5c0e
Fix regression in the DDS plugin shutdown handling
2019-11-20 14:07:44 +01:00
Dennis Klein
f6e3183f45
SDK commands: Link shared flatbuffers if no static avail
2019-11-17 11:16:31 +01:00
Alexey Rybalchenko
9d30ff25c2
Remove deprecated methods
2019-11-15 14:36:27 +01:00
Alexey Rybalchenko
2ac8f98178
Shm monitor: fix startup race and enable view-only mode
2019-11-13 16:16:16 +01:00