2018-05-29 05:25:24 -04:00
|
|
|
ASIO port
|
|
|
|
=========
|
|
|
|
|
|
|
|
Overview
|
|
|
|
--------
|
|
|
|
Asio is a cross-platform C++ library, see https://think-async.com. 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
|
|
|
|
^^^^^^^^^^^^^^^^^^
|
2020-06-05 10:17:01 -04:00
|
|
|
ESP platform port currently supports only network asynchronous socket operations; does not support serial port.
|
2020-06-05 11:17:55 -04:00
|
|
|
SSL/TLS support is disabled by default and could be enabled in component configuration menu by choosing TLS library from
|
2020-06-05 10:17:01 -04:00
|
|
|
|
|
|
|
- mbedTLS with OpenSSL translation layer (default option)
|
|
|
|
- wolfSSL
|
|
|
|
|
2020-06-05 11:17:55 -04:00
|
|
|
SSL support is very basic at this stage and it does include following features:
|
2020-06-05 10:17:01 -04:00
|
|
|
|
|
|
|
- Verification callbacks
|
|
|
|
- DH property files
|
|
|
|
- Certificates/private keys file APIs
|
|
|
|
|
2018-05-29 05:25:24 -04:00
|
|
|
Internal asio settings for ESP include
|
2019-11-07 06:07:44 -05:00
|
|
|
|
|
|
|
- EXCEPTIONS are enabled in ASIO if enabled in menuconfig
|
|
|
|
- TYPEID is enabled in ASIO if enabled in menuconfig
|
2018-05-29 05:25:24 -04:00
|
|
|
|
|
|
|
Application Example
|
|
|
|
-------------------
|
2020-01-20 08:06:06 -05:00
|
|
|
ESP examples are based on standard asio :example:`protocols/asio`:
|
2018-05-29 05:25:24 -04:00
|
|
|
|
2020-01-20 08:06:06 -05:00
|
|
|
- :example:`protocols/asio/udp_echo_server`
|
|
|
|
- :example:`protocols/asio/tcp_echo_server`
|
2021-09-01 04:53:07 -04:00
|
|
|
- :example:`protocols/asio/asio_chat`
|
2020-06-05 10:17:01 -04:00
|
|
|
- :example:`protocols/asio/ssl_client_server`
|
2018-05-29 05:25:24 -04:00
|
|
|
|
2019-11-07 06:07:44 -05:00
|
|
|
Please refer to the specific example README.md for details
|