Commit Graph

296 Commits

Author SHA1 Message Date
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
Dennis Klein
733794657c update docs 2017-05-23 14:10:34 +02:00
Dennis Klein
89423eb737 enable shmem tests 2017-05-23 14:10:34 +02:00
Dennis Klein
8b93b4f8ed do not call nn_term()
nn_term() will globally lock down the nanosmsg library. The nn_init()
interface is no longer available to reset the global state. Subsequent unit
tests after the first nn_term() call are failing.
2017-05-23 14:10:34 +02:00
Dennis Klein
d2c78479f0 Refactor FairMQTools
* Split header, add common header
  * Transform to canonical namespace
  * Deprecate old header
  * Adapt to new Tools.h
2017-05-23 13:42:56 +02:00
Dennis Klein
9215c81362 Deprecate old TransportFactory factory 2017-05-23 08:37:52 +02:00
Alexey Rybalchenko
9288a2c3d5 Add tests for poller. 2017-05-23 08:32:13 +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
eb614b6005 do not copy strings 2017-05-18 20:01:44 +02:00
Dennis Klein
b5dab60a82 add more single and multithreaded unit tests 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
Dennis Klein
87252edbe0 move New*Message apis to TransportFactory
* add facades to Device and Channel
  * add Transport() getter to Device
  * inline Transport() getter from Channel
2017-05-18 20:01:44 +02:00
Dennis Klein
97ca52aa0e move TransportFactory factory into FairMQTransportFactory namespace 2017-05-18 20:01:44 +02:00
Dennis Klein
f522dc1717 add FairMQParts Send/Receive apis 2017-05-18 20:01:44 +02:00
Dennis Klein
8b85dd2191 support inproc addresses 2017-05-18 20:01:44 +02:00
Dennis Klein
3cb80de773 add channel name setter 2017-05-18 20:01:44 +02:00
Dennis Klein
463a49d79c update CONTRIBUTORS 2017-05-18 20:01:44 +02:00
Dennis Klein
2d4282c62d Fix CID 169527 Uncaught Exception 2017-05-17 18:45:44 +02:00
Dennis Klein
a9ac1fa91c Fix CID 169522 Unchecked return value 2017-05-17 18:45:15 +02:00
Dennis Klein
ec786dce03 Fix CID 169525 Data race condition 2017-05-17 18:44:51 +02:00
Dennis Klein
c78541432f add missing link dependency 2017-05-10 06:43:55 +02:00
Dennis Klein
04bc7d4bfd add missing include guard 2017-05-10 06:42:57 +02:00
Dennis Klein
3dc5fd1d6e expose STL iterator interface for FairMQParts 2017-05-09 14:48:34 +02:00
Alexey Rybalchenko
0926a9a764 FairMQ: allow accumulation of parts on receive. 2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
1fa5c836a6 FairMQ: stop device if binding was unsuccessful (not updated dynamically). 2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
459b42add2 FairMQ: MakeTransport to create stand-alone transport for tests. 2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
085de240c2 FairMQ: fix missing includes. 2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
2a526b8625 shmem: introduce FairMQShmMonitor. 2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
7b4a2ae932 shmem: configurable segment name. 2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
14f9084a80 shmem: Heartbeats for the monitor. 2017-04-28 13:30:51 +02:00
Alexey Rybalchenko
a8d40abbd9 FairProgOptions: update ambiguous option name. 2017-04-28 13:30:51 +02:00
Dennis Klein
f39b41d68c tweak startup and linger times 2017-04-21 09:21:57 +02:00
Dennis Klein
bbc8da54b4 clean redundant doxygen comments 2017-04-21 09:21:57 +02:00
Dennis Klein
91831ff701 print debug output immediately
This helps in the cases when get killed by the ctest timeout.
2017-04-21 09:21:57 +02:00
Dennis Klein
a1fe478ce7 fix more -Winconsistent-missing-override warnings 2017-04-20 11:07:50 +02:00
Dennis Klein
132ae69953 add startup and linger times for pubsub 2017-04-20 11:07:50 +02:00
Alexey Rybalchenko
541538e3de only reset sockets if needed 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
Dennis Klein
f963a06e25 make connecting channel wait loop more flexible 2017-04-20 11:07:50 +02:00
Alexey Rybalchenko
ee0d2e0c55 add debug output to test devices 2017-04-20 11:07:50 +02:00
Dennis Klein
218af15bbb ensure that FairMQ.Protocols is not run in parallel
The testsuite uses hardcoded system resources (TCP ports)
and is consequently not thread-safe.
2017-04-20 11:07:50 +02:00
Dennis Klein
d866589be1 Two devices can't share device id 2017-04-20 11:07:50 +02:00
Dennis Klein
bf2b208749 update docs 2017-04-20 11:07:49 +02:00
Alexey Rybalchenko
7caf0a6aae Configurable shmem segment size 2017-04-20 11:07:49 +02:00
Alexey Rybalchenko
ac7017deb5 Re-enable rate limiting in benchmarkSampler 2017-04-20 11:07:49 +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
Dennis Klein
d7eb692951 remove no longer needed special treatment for logger directory 2017-04-20 11:07:49 +02:00
Dennis Klein
9b337ca075 remove redundant include path
The imported ZeroMQ target has a target property
INTERFACE_INCLUDE_DIRECTORIES which carries this
information.
2017-04-20 11:07:49 +02:00
Dennis Klein
d02ae9be2c remove no longer used variable 2017-04-20 11:07:48 +02:00