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"
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 |