Use exceptions for fatal errors in device/channel

- These will be caught by StateMachine::ProcessWork
   and lead to error state.
 - Solve issue where device goes into ready state if
   it encounters misconfigured channel in the Run.
 - deprecate WaitForInitialValidation().
This commit is contained in:
Alexey Rybalchenko
2018-10-31 14:32:31 +01:00
committed by Dennis Klein
parent 3561255cf9
commit 3b5b2b501f
4 changed files with 397 additions and 530 deletions

View File

@@ -14,6 +14,7 @@
#include <vector>
#include <atomic>
#include <mutex>
#include <stdexcept>
#include <FairMQTransportFactory.h>
#include <FairMQSocket.h>
@@ -51,6 +52,8 @@ class FairMQChannel
/// Default destructor
virtual ~FairMQChannel();
struct ChannelConfigurationError : std::runtime_error { using std::runtime_error::runtime_error; };
FairMQSocket& GetSocket() const;
auto Bind(const std::string& address) -> bool