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