emlabcpp
modern opinionated embedded C++ library
protocol.h File Reference
#include "../../algorithm.h"
#include "../../protocol/base.h"
#include "../../protocol/endpoint.h"
#include "../../protocol/error.h"
#include "../../protocol/handler.h"
#include "../../protocol/message.h"
#include "../../protocol/packet.h"
#include "../../protocol/traits.h"
#include "../../static_function.h"
#include "../../view.h"
#include "../contiguous_tree/base.h"
#include "../multiplexer.h"
#include "../testing/base.h"
#include <array>
#include <bit>
#include <variant>
+ Include dependency graph for protocol.h:

Go to the source code of this file.

Classes

struct  emlabcpp::testing::get_property< ID >
 
struct  emlabcpp::testing::get_count_reply
 
struct  emlabcpp::testing::get_suite_name_reply
 
struct  emlabcpp::testing::get_suite_date_reply
 
struct  emlabcpp::testing::get_test_name_request
 
struct  emlabcpp::testing::get_test_name_reply
 
struct  emlabcpp::testing::tree_error_reply
 
struct  emlabcpp::testing::test_finished
 
struct  emlabcpp::testing::boot
 
struct  emlabcpp::testing::exec_request
 
struct  emlabcpp::testing::error< Err >
 
struct  emlabcpp::testing::no_response_error
 
struct  emlabcpp::testing::wrong_type_error
 
struct  emlabcpp::testing::input_message_protocol_error
 
struct  emlabcpp::testing::reactor_internal_error_report
 
struct  emlabcpp::testing::packet_def
 

Namespaces

 emlabcpp
 MIT License.
 
 emlabcpp::testing
 MIT License.
 
 emlabcpp::protocol
 MIT License.
 

Typedefs

using emlabcpp::testing::controller_reactor_group = protocol::tag_group< get_property< msgid::SUITE_NAME >, get_property< msgid::SUITE_DATE >, get_property< msgid::COUNT >, get_test_name_request, exec_request >
 
using emlabcpp::testing::controller_reactor_variant = typename protocol::traits_for< controller_reactor_group >::value_type
 
using emlabcpp::testing::controller_reactor_message = typename protocol::handler< controller_reactor_group >::message_type
 
using emlabcpp::testing::reactor_error_variant = 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 >
 
using emlabcpp::testing::reactor_controller_group = protocol::tag_group< boot, get_count_reply, get_test_name_reply, test_finished, get_suite_name_reply, get_suite_date_reply, reactor_internal_error_report >
 
using emlabcpp::testing::reactor_controller_variant = typename protocol::traits_for< reactor_controller_group >::value_type
 
using emlabcpp::testing::reactor_controller_message = typename protocol::handler< reactor_controller_group >::message_type
 
using emlabcpp::testing::reactor_transmit_callback = static_function< result(protocol::channel_type, reactor_controller_message const &), 32 >
 
using emlabcpp::testing::controller_transmit_callback = static_function< result(protocol::channel_type, controller_reactor_message const &), 32 >
 
using emlabcpp::testing::packet_payload = protocol::multiplexer_payload< 256 >
 
using emlabcpp::testing::packet = protocol::packet< packet_def, packet_payload >
 
using emlabcpp::testing::endpoint = protocol::multiplexed_endpoint< packet >
 
using emlabcpp::testing::message = typename packet::message_type
 

Enumerations

enum class  emlabcpp::testing::msgid : uint8_t {
  emlabcpp::testing::EXEC = 0x1 ,
  emlabcpp::testing::COUNT = 0x2 ,
  emlabcpp::testing::NAME = 0x3 ,
  emlabcpp::testing::SUITE_NAME = 0x6 ,
  emlabcpp::testing::SUITE_DATE = 0x7 ,
  emlabcpp::testing::FINISHED = 0x9 ,
  emlabcpp::testing::ERROR = 0xa ,
  emlabcpp::testing::FAILURE = 0xb ,
  emlabcpp::testing::BOOT = 0xc ,
  emlabcpp::testing::INTERNAL_ERROR = 0xf0 ,
  emlabcpp::testing::PROTOCOL_ERROR = 0xf1 ,
  emlabcpp::testing::TREE_ERROR = 0xf2
}
 
enum  emlabcpp::testing::error_enum : uint8_t {
  emlabcpp::testing::TEST_IS_RUNING_E = 0x1 ,
  emlabcpp::testing::TEST_NOT_FOUND_E = 0x2 ,
  emlabcpp::testing::BAD_TEST_ID_E = 0x5 ,
  emlabcpp::testing::UNDESIRED_MSG_E = 0x6 ,
  emlabcpp::testing::NO_RESPONSE_E = 0x7 ,
  emlabcpp::testing::TREE_E = 0x8 ,
  emlabcpp::testing::WRONG_TYPE_E = 0x9 ,
  emlabcpp::testing::WRONG_MESSAGE_E = 0xa ,
  emlabcpp::testing::INPUT_MESSAGE_PROTOCOL_ERROR = 0xb
}
 

Variables

static constexpr protocol::channel_type emlabcpp::testing::core_channel = 1