私はAsio、SSL部分のドキュメントを正確にチェックしていて
、スレッドセーフステートメントに遭遇しました:
OpenSSL BIOが同時実行と操作を許可していないことを理解しましたが、具体的に使用する機能をどこにも見つけることができませんでした。ssl::stream
Shared objects: Unsafe. The application must also ensure that all asynchronous operations are performed within the same implicit or explicit strand.
SSL_Read
SSL_Write
strand
- これらの非同期関数は一度に実行されなくても、すぐに返されるため、データを読み取らないため、
strand.post(async_read)
/を使用してstrand.post(async_write)
も (私の知る限り) 同時実行が行われないことを保証するべきではありSSL_Read
ません。SSL_Write
- また
strand
、これらのハンドラーが呼び出されると、データは既に読み取られてユーザー定義のバッファーにコピーされるため、ハンドラー関数を使用することも (私には) 良いようには思えません。
ありがとうございました