Files
esp-protocols/docs/asio/en/index.rst

44 lines
1.7 KiB
ReStructuredText
Raw Normal View History

ASIO port
=========
Overview
--------
Asio is a cross-platform C++ library, see https://think-async.com/Asio/. It provides a consistent asynchronous model using a modern C++ approach.
ASIO documentation
^^^^^^^^^^^^^^^^^^
Please refer to the original asio documentation at https://think-async.com/Asio/Documentation.
Asio also comes with a number of examples which could be find under Documentation/Examples on that web site.
Supported features
^^^^^^^^^^^^^^^^^^
ESP platform port currently supports only network asynchronous socket operations; does not support serial port.
SSL/TLS support is disabled by default and could be enabled in component configuration menu by choosing TLS library from
- mbedTLS with OpenSSL translation layer (default option)
SSL support is very basic at this stage and it does include following features:
- Verification callbacks
- DH property files
- Certificates/private keys file APIs
Internal asio settings for ESP include
- EXCEPTIONS are enabled in ASIO if enabled in menuconfig
- TYPEID is enabled in ASIO if enabled in menuconfig
Application Example
-------------------
ESP examples are based on standard asio :example:`examples <../../../components/asio/examples>`:
- :example:`asio_chat <../../../components/asio/examples/asio_chat>`
- :example:`async_request <../../../components/asio/examples/async_request>`
- :example:`socks4 <../../../components/asio/examples/socks4>`
- :example:`ssl_client_server <../../../components/asio/examples/ssl_client_server>`
- :example:`tcp_echo_server <../../../components/asio/examples/tcp_echo_server>`
- :example:`udp_echo_server <../../../components/asio/examples/udp_echo_server>`
Please refer to the specific example README.md for details