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
f33c597f34
Apply readability-avoid-const-params-in-decls
2021-09-27 12:04:07 +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
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
4a09154a91
17-ify namespaces
2021-01-25 13:46:40 +01:00
Alexey Rybalchenko
d9a5e82160
Cleanup tools includes
2021-01-25 13:46:40 +01:00
Alexey Rybalchenko
751c53171c
Replace tools::make_unique with std::make_unique
2021-01-25 13:46:40 +01:00
Alexey Rybalchenko
6815c9c172
zmq: implement alignment
2021-01-13 12:36:32 +01:00
Alexey Rybalchenko
29f45fa77d
Rename TransferResult to TransferCode
2021-01-13 12:36:32 +01:00
Alexey Rybalchenko
bb1ce794b6
Let single message methods also return int64_t
2020-11-17 14:04:20 +01:00
Alexey Rybalchenko
1b30f3ac14
Update return types in ofi::Socket
2020-09-23 09:29:57 +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
Giulio Eulisse
bf909f94dc
ofi: adapt to the new API for FairMQSocket::Events
2020-07-15 13:58:47 +02:00
Alexey Rybalchenko
53a4d17f8b
Alignment part I - Interface and shmem send
2020-05-20 19:34:27 +02:00
Alexey Rybalchenko
d22023bcb5
Implement bulk callbacks for unmanaged regions
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
c8fc5ad33f
Add bool FairMQTransportFactory::SubscribedToRegionEvents()
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
e1a113aabe
Add region events subscriptions
2020-04-28 14:09:04 +02:00
Alexey Rybalchenko
a2cff5b7bb
Shmem: simplify message/socket and refactor to use namespaces
2019-12-20 14:04:58 +01:00
Alexey Rybalchenko
cba6d19781
Add config plugin class.
2019-07-10 19:35:18 +02:00
Alexey Rybalchenko
0e35f1cb22
Shmem region: support huge pages via path to hugetlbfs mount
2019-07-05 15:58:28 +02:00
Dennis Klein
3582091b1c
Add experimental static size mode for ofi transport
...
Whenever --ofi-size-hint > 0, the ofi transport does not use the control
band. Multipart is not supported.
2019-04-29 20:28:40 +02:00
Dennis Klein
195644f132
Add some debug output
2019-03-21 18:03:32 +01:00
Dennis Klein
cc8fd73025
Fix recv logic
2019-03-21 18:03:32 +01:00
Dennis Klein
b45e4da2a9
Implement linger for ofi
...
This reduces test runtime significantly for most transports
2019-03-21 18:03:32 +01:00
Dennis Klein
a1b7efa2f4
Unify implementation of multi part and single part message interfaces
2019-03-21 18:03:32 +01:00
Dennis Klein
6ee7e5fbf0
Improve error handling
2019-03-21 18:03:32 +01:00
Dennis Klein
a8f1a4dfdb
Try to reconnect on refused connection
2019-03-13 18:04:49 +01:00
Dennis Klein
fb42b1e2f0
Adapt to new asiofi release
2019-03-13 18:04:49 +01:00
Dennis Klein
3bf5f3bf45
Reformat
2019-03-06 14:23:08 +01:00
Dennis Klein
11a3a41a0f
Add missing memory registration case
2019-03-06 14:23:08 +01:00
Dennis Klein
53a5456d8c
Fix lifetime of memory_region
2019-03-06 14:23:08 +01:00
Dennis Klein
2eb09df1f7
Match consistent style
2019-03-06 14:23:08 +01:00
Dennis Klein
1752e116e3
Fix initialization of inproc queues
2019-03-06 14:23:08 +01:00
Dennis Klein
5eae5ccd31
Fix connection logic
2019-03-06 14:23:08 +01:00
Dennis Klein
ad198edd59
Remove asio strand
2019-03-06 14:23:08 +01:00
Dennis Klein
b3005ecbdc
Fix object lifetime bug
2019-03-06 14:23:08 +01:00
Dennis Klein
ee890a7a46
Implement Reset signal
2019-03-06 14:23:08 +01:00
Dennis Klein
241bf08337
Retry ofi connection
2019-03-06 14:23:08 +01:00
Dennis Klein
02e1511667
Fix issues after rebase
2019-03-06 14:23:08 +01:00
Dennis Klein
a08a34acd5
Do not share ofi context across sockets
2019-03-06 14:23:08 +01:00
Dennis Klein
b31ab1cc48
Implement control band with asiofi
2019-03-06 14:23:08 +01:00
Dennis Klein
672e12f45b
Add semaphore
2019-03-06 14:23:08 +01:00
Dennis Klein
8e7cfacd78
Implement parallel ofi::Socket::Receive
2019-03-06 14:23:08 +01:00
Dennis Klein
46e2420547
Implement parallel ofi::Socket::Send
2019-03-06 14:23:08 +01:00
Dennis Klein
60f1f1000f
Fix after rebase
2019-03-06 14:23:08 +01:00
Dennis Klein
b394feca18
Implement ofi Send/Receive
2019-03-06 14:23:08 +01:00
Dennis Klein
91025cbc88
Deactivate control band monitor socket
2019-03-06 14:23:08 +01:00