emlabcpp
modern opinionated embedded C++ library
reactor_interface_adapter.h
Go to the documentation of this file.
1 
24 #pragma once
25 
26 #include "../../static_function.h"
27 #include "../multiplexer.h"
28 #include "./protocol.h"
29 
30 #include <utility>
31 
32 namespace emlabcpp::testing
33 {
35 {
36  using incoming_handler = static_function< bool( controller_reactor_variant const& ), 16 >;
37 
38  protocol::channel_type channel_;
39  reactor_transmit_callback transmit_;
40  incoming_handler h_{};
41 
42 public:
44  protocol::channel_type const chann,
46  : channel_( chann )
47  , transmit_( std::move( tb ) )
48  {
49  }
50 
52 
54 };
55 } // namespace emlabcpp::testing
Definition: reactor_interface_adapter.h:35
result reply(reactor_controller_variant const &)
reactor_interface_adapter(protocol::channel_type const chann, reactor_transmit_callback tb)
Definition: reactor_interface_adapter.h:43
result report_failure(reactor_error_variant const &)
uint16_t channel_type
Definition: multiplexer.h:35
MIT License.
Definition: base.h:37
std::variant< error< TEST_IS_RUNING_E >, error< TEST_NOT_FOUND_E >, error< BAD_TEST_ID_E >, error< UNDESIRED_MSG_E >, no_response_error, wrong_type_error, tree_error_reply, error< WRONG_MESSAGE_E >, input_message_protocol_error > reactor_error_variant
Definition: protocol.h:184
typename protocol::traits_for< controller_reactor_group >::value_type controller_reactor_variant
Definition: protocol.h:133
typename protocol::traits_for< reactor_controller_group >::value_type reactor_controller_variant
Definition: protocol.h:202
Definition: static_function.h:109
result represents an result of some operation, as an alternative to returning just bool with true/fal...
Definition: result.h:42