xref: /aosp_15_r20/external/libwebsockets/lib/secure-streams/cpp/README.md (revision 1c60b9aca93fdbc9b5f19b2d2194c91294b22281)
1*1c60b9acSAndroid Build Coastguard Worker## Secure Streams client C++ API
2*1c60b9acSAndroid Build Coastguard Worker
3*1c60b9acSAndroid Build Coastguard WorkerEnable for build by selecting `-DLWS_WITH_SECURE_STREAMS=1 -DLWS_WITH_SECURE_STREAMS_CPP=1` at
4*1c60b9acSAndroid Build Coastguard Workercmake.
5*1c60b9acSAndroid Build Coastguard Worker
6*1c60b9acSAndroid Build Coastguard WorkerBecause it's designed for OpenSSL + system trust bundle, the minimal
7*1c60b9acSAndroid Build Coastguard Workerexample minimal-secure-streams-cpp requires `-DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_WITH_MBEDTLS=0`
8*1c60b9acSAndroid Build Coastguard Worker
9*1c60b9acSAndroid Build Coastguard WorkerBy default the -cpp example downloads https://warmcat.com/test-a.bin to the local
10*1c60b9acSAndroid Build Coastguard Workerfile /tmp/test-a.bin.  By giving, eg, -c 4, you can run four concurrent downloads of
11*1c60b9acSAndroid Build Coastguard Workerfiles test-a.bin through test-d.bin... up to 12 files may be downloaded concurrently.
12*1c60b9acSAndroid Build Coastguard Worker
13*1c60b9acSAndroid Build Coastguard WorkerBy default it will connect over h2 and share the single connection between all the
14*1c60b9acSAndroid Build Coastguard Workerdownloads.
15*1c60b9acSAndroid Build Coastguard Worker
16*1c60b9acSAndroid Build Coastguard Worker### File level api
17*1c60b9acSAndroid Build Coastguard Worker
18*1c60b9acSAndroid Build Coastguard Worker```
19*1c60b9acSAndroid Build Coastguard Worker#include <libwebsockets.hxx>
20*1c60b9acSAndroid Build Coastguard Worker
21*1c60b9acSAndroid Build Coastguard Worker...
22*1c60b9acSAndroid Build Coastguard Worker
23*1c60b9acSAndroid Build Coastguard Worker	new lssFile(context, "https://warmcat.com/index.html",
24*1c60b9acSAndroid Build Coastguard Worker			"/tmp/index.html", lss_completion, 0);
25*1c60b9acSAndroid Build Coastguard Worker```
26*1c60b9acSAndroid Build Coastguard Worker
27*1c60b9acSAndroid Build Coastguard WorkerThis will copy the remote url to the given local file, and call the
28*1c60b9acSAndroid Build Coastguard Workercompletion callback when it has succeeded or failed.
29*1c60b9acSAndroid Build Coastguard Worker
30