mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-07-18 04:52:18 +02:00
Add license headers, update namespaces
This commit is contained in:
@ -1,10 +1,32 @@
|
||||
// Copyright 2021 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Created by david on 3/8/21.
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef SIMPLE_CXX_CLIENT_ESP_MODEM_CMUX_HPP
|
||||
#define SIMPLE_CXX_CLIENT_ESP_MODEM_CMUX_HPP
|
||||
#ifndef _ESP_MODEM_CMUX_HPP_
|
||||
#define _ESP_MODEM_CMUX_HPP_
|
||||
|
||||
namespace esp_modem {
|
||||
/**
|
||||
* @defgroup ESP_MODEM_CMUX ESP_MODEM CMUX class
|
||||
* @brief Definition of CMUX terminal
|
||||
*/
|
||||
/** @addtogroup ESP_MODEM_CMUX
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief CMUX state machine
|
||||
*/
|
||||
enum class cmux_state {
|
||||
INIT,
|
||||
HEADER,
|
||||
@ -13,6 +35,14 @@ enum class cmux_state {
|
||||
RECOVER,
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief CMUX terminal abstraction
|
||||
*
|
||||
* This class inherits from Terminal class, as it is a Terminal, but is also composed of another Terminal,
|
||||
* which is used to communicate with the modem, i.e. the original Terminal which has been multiplexed.
|
||||
*
|
||||
* @note Implementation of CMUX protocol is experimental
|
||||
*/
|
||||
class CMUXedTerminal: public Terminal {
|
||||
public:
|
||||
explicit CMUXedTerminal(std::unique_ptr<Terminal> t, std::unique_ptr<uint8_t[]> b, size_t buff_size):
|
||||
@ -38,8 +68,12 @@ private:
|
||||
size_t consumed;
|
||||
std::unique_ptr<uint8_t[]> buffer;
|
||||
bool on_cmux(size_t len);
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif //SIMPLE_CXX_CLIENT_ESP_MODEM_CMUX_HPP
|
||||
} // namespace esp_modem
|
||||
|
||||
#endif // _ESP_MODEM_CMUX_HPP_
|
||||
|
Reference in New Issue
Block a user