|
emlabcpp
modern opinionated embedded C++ library
|
#include "../outcome.h"#include "../protocol/endpoint.h"#include "../protocol/handler.h"#include "../protocol/tuple.h"#include "../static_vector.h"
Include dependency graph for multiplexer.h:Go to the source code of this file.
Classes | |
| class | emlabcpp::protocol::multiplexed_endpoint< Packet > |
Namespaces | |
| emlabcpp | |
| MIT License. | |
| emlabcpp::protocol | |
| MIT License. | |
Typedefs | |
| using | emlabcpp::protocol::channel_type = uint16_t |
| using | emlabcpp::protocol::multiplexer_channel_handler = handler< channel_type, std::endian::little > |
| template<std::size_t N> | |
| using | emlabcpp::protocol::multiplexer_payload = tuple< std::endian::little, channel_type, sizeless_message< N > > |
| template<std::size_t N> | |
| using | emlabcpp::protocol::multiplexer_value = typename multiplexer_payload< N >::value_type |
| template<std::size_t N> | |
| using | emlabcpp::protocol::multiplexer_message = typename multiplexer_payload< N >::message_type |
| template<std::size_t N> | |
| using | emlabcpp::protocol::multiplexer_handler = handler< multiplexer_payload< N > > |
| using | emlabcpp::protocol::multiplexer_service_protocol = std::tuple< multiplexer_enum > |
| using | emlabcpp::protocol::multiplexer_service_msg = typename handler< multiplexer_service_protocol >::message_type |
Enumerations | |
| enum | emlabcpp::protocol::multiplexer_enum : uint8_t { emlabcpp::protocol::PORT_MATCH_ERROR = 0 , emlabcpp::protocol::PROTOCOL_ERROR = 1 } |
Functions | |
| std::tuple< bool, std::span< std::byte > > | emlabcpp::protocol::serialize_multiplexed (channel_type channel, std::span< std::byte const > data, std::span< std::byte > target) |
| template<std::size_t N> | |
| multiplexer_message< N > | emlabcpp::protocol::serialize_multiplexed (channel_type channel, message< N > const &m) |
| template<typename BinaryCallable > | |
| outcome | emlabcpp::protocol::extract_multiplexed (std::span< std::byte const > const &msg, BinaryCallable handle_cb) |
| template<slot... Slotted> | |
| outcome | emlabcpp::protocol::multiplexed_dispatch (channel_type chann, auto const &data, Slotted &... slotted) |
Variables | |
| static constexpr channel_type | emlabcpp::protocol::multiplexer_service_id = 0 |
| template<typename T > | |
| concept | emlabcpp::protocol::slot |