Commit Graph

8 Commits

Author SHA1 Message Date
Alexey Rybalchenko
bd8be1436e Tests for MQ examples 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
626ebdd298 Update JSON files & readme, use FairMQDevicePtr, cleanup. 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
a1424e13fb Enable new callback API
- OnData() channel data handler.
 - ConditionalRun() for devices without incoming data.
 - Header file with common main(), to be extended with getDevice/addCustomOptions.
 - Update examples (MQ/Tutorial3) to use the new API and config.
 - NewSimpleMessage() for simpler creation of small messages (additional copy).
 - Replace SetProperty/GetProperty with fConfig access.
 - Runtime configurable channel names for common devices.
 - Configurable logging interval per channel.
 - FairMQMultiplier for distributing same data to multiple outputs.
 - Cleanup state machine messages.
 - Cmd option to toggle signal handling.
 - Simpler API for send/receive timeouts.
 - Enable --log-to-file.
 - Fix coverity issues, warnings.
 - Various code cleanup and minor tweaks.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
6c49a89868 Let ParseAll exit if unsuccessfull 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
1d2d409bfd Cleanup examples 2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
86ae4c2da1 Configuration and DDS example/tools updates
- Update DDS example command UI and extract it from example.
 - Unify address handling via DDS properties for dynamic deployment.
 - Update DDS docs with the new approach.
 - Allow `--config-key` to be used to access common config in JSON.
 - Allow common channel properties to be specified for all sockets.
 - Update MQ examples and Tuto3 with new config options.
 - Add start scripts to MQ examples for easier use.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
daf6856ce5 Remove compile time transport interface switch
- Remove the compile time check of the transport implementation.
  The transport (zeromq/nanomsg) can be chosen at run time with:
  `device.SetTransport("zeromq"); // possible values are "zeromq" and "nanomsg"`.

  For devices that use FairMQProgOptions, the transport can be configured via cmd option:
  `--transport zeromq` or `--transport nanomsg`. Default values is "zeromq".
  The device receives the configured value with:
  `device.SetTransport(config.GetValue<std::string>("transport"));`

  Old method of setting transport still works. But the NANOMSG constant is not defined.

- Remove old `fairmq/prototest` directory. It was only used as a test for protobuf.
  The protobuf part of Tutorial3 does the same (with different values).

- Fix a bug in FairMQPollerNN, where the `revents` value was not initialized.
  This caused the `poller->CheckOutput()` to trigger when it should not.
2018-05-02 13:51:55 +02:00
Alexey Rybalchenko
9625268c50 Rename /example to /examples and move MQ examples in it 2018-05-02 13:51:55 +02:00