Commit Graph

28 Commits

Author SHA1 Message Date
mkrzewic
d40bbfe208 Equip FairMQMessage with pointer to factory (at creation)
the patch seems big but most of it is just propagating the new notion of
constness of the factory - since it keeps track of created messages with
the internal allocator it no longer is const
2018-10-31 13:12:38 +01:00
Alexey Rybalchenko
ce4062f3a0 Remove GetSocket interface that exposes transport details 2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
dfa1b68867 Make factory classes final (optimization potential) 2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
44acd4997d Implement nanomsg linger in our transport 2018-10-17 13:28:50 +02:00
Alexey Rybalchenko
e090967645 Shmem: Build shmem names out of session id + user id 2018-10-11 17:06:39 +02:00
Alexey Rybalchenko
7a4fd96b27 Fix namespaces in Transports.h and add conversion map 2018-05-15 19:18:11 +02:00
Alexey Rybalchenko
fed7601be4 replace cmd socket with transport specific unblock mechanism 2018-03-26 13:58:20 +02:00
Alexey Rybalchenko
13678f9f6d monitor update 2018-02-19 14:03:42 +01:00
Alexey Rybalchenko
4e2a195289 Fix warnings 2018-02-01 09:59:11 +01:00
Alexey Rybalchenko
b59f1b950d FairMQ: Add hint argument to the region callback, settable per message. 2017-12-18 12:53:58 +01:00
Alexey Rybalchenko
fd19480a2e FairMQ: Fix missing region acks if receiver doesn't call OnData & clean includes. 2017-11-30 13:56:06 +01:00
Alexey Rybalchenko
0dc4000187 FairMQ: Add uuid generator to tools & let tests use it for session names. 2017-11-29 09:06:17 +01:00
Alexey Rybalchenko
eddfd0d1bd FairMQ: Introduce configurable session name per device.
Session name is given to each device via `--session`,
which must be synchronized from a higher level,
e.g. from start script or command & control entity.
2017-11-29 09:06:17 +01:00
Alexey Rybalchenko
58a312b730 FairMQ: Introduce callbacks for the FairMQUnmanagedRegion.
Callbacks are called when the data buffer of the message assiciated
with the corresponding region is no longer needed by the transport.
Example in examples/advanced/Region/
2017-11-29 09:06:17 +01:00
Alexey Rybalchenko
0bb866ff36 FairMQ: shared memory unmanaged region updates:
- use same mapping for sender/receiver (created/remote) region.
 - rename FairMQRegion -> FairMQUnmanagedRegion.
2017-10-20 14:17:15 +02:00
Alexey Rybalchenko
221d2567f0 FairMQRegion and examples/advanced/Region 2017-08-08 14:18:10 +02:00
Dennis Klein
8bc21675af Refactor TransportFactory to RAII
* Remove explicit Initialize and Terminate states,
    map them onto ctor/dtor
  * Remove no longer needed Shutdown state
  * Remove deprecated SetTransport()
2017-05-24 16:37:33 +02:00
Alexey Rybalchenko
6b221d950c Add NewPoller() wrapper. 2017-05-23 08:32:13 +02:00
Dennis Klein
3be2f297f3 generate id if no device id available
* CreateSocket factory no longer accepts id param, but the
    TransportFactory has an id member instead
2017-05-18 20:01:44 +02:00
Dennis Klein
3205e0c378 refactor to more idiomatic RAII
* FairMQTransportFactoryZMQ: move the config invariant
    initialization to ctor
  * FairMQChannel: add new ctor that creates usable channel
  * FairMQSocket*: close sockets in dtor
  * FairMQTransportFactory*: terminate context in dtor
  * FairMQChannel: add Bind/Connect facades (for explicit control, e.g. timing)
2017-05-18 20:01:44 +02:00
Alexey Rybalchenko
2a526b8625 shmem: introduce FairMQShmMonitor. 2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
14f9084a80 shmem: Heartbeats for the monitor. 2017-04-28 13:30:51 +02:00
Dennis Klein
a1fe478ce7 fix more -Winconsistent-missing-override warnings 2017-04-20 11:07:50 +02:00
Alexey Rybalchenko
c51575f88c fix clang++ -Winconsistend-missing-override warnings 2017-04-20 11:07:50 +02:00
Alexey Rybalchenko
5aaf27bf02 Refactor the transport interface
- give transport Initialize() method with access to device config.
 - avoid using global context in the transport.
 - simplify shutdown procedure (no need for extra thread).
2017-04-20 11:07:49 +02:00
Alexey Rybalchenko
3c73c690f7 Transports: use transportType as static member. 2017-03-14 17:51:26 +01:00
Alexey Rybalchenko
c66fd6fe91 Adding multiple transports support & other fixes:
- Avoid polling when only one input channel is used.
 - Send only handles for shared memory transport.
 - Avoid waiting in the rate logger thread when nothing to log.
 - Hide warnings from generated files
 - Fix #483
2017-02-23 06:47:09 +01:00
Alexey Rybalchenko
a332d9fc83 First version of the shared memory transport.
Use via `--transport shmem` cmd option. No pub/sub.
2016-12-18 14:50:58 +01:00