1*1c60b9acSAndroid Build Coastguard Worker# lws minimal secure streams binance
2*1c60b9acSAndroid Build Coastguard Worker
3*1c60b9acSAndroid Build Coastguard WorkerThis is a Secure Streams version of minimal-ws-client-binance.
4*1c60b9acSAndroid Build Coastguard Worker
5*1c60b9acSAndroid Build Coastguard Worker"policy.json" contains all the information about endpoints, protocols and
6*1c60b9acSAndroid Build Coastguard Workerconnection validation, tagged by streamtype name.
7*1c60b9acSAndroid Build Coastguard Worker
8*1c60b9acSAndroid Build Coastguard WorkerThe example tries to load it from the cwd, it lives in
9*1c60b9acSAndroid Build Coastguard Worker./minimal-examples/secure-streams/minimal-secure-streams-binance dir, so
10*1c60b9acSAndroid Build Coastguard Workereither run it from there, or copy the policy.json to your cwd.  It's also
11*1c60b9acSAndroid Build Coastguard Workerpossible to put the policy json in the code as a string and pass that at
12*1c60b9acSAndroid Build Coastguard Workercontext creation time.
13*1c60b9acSAndroid Build Coastguard Worker
14*1c60b9acSAndroid Build Coastguard WorkerThe secure stream object represents a nailed-up connection that outlives any
15*1c60b9acSAndroid Build Coastguard Workersingle socket connection, and can manage reconnections / retries according to
16*1c60b9acSAndroid Build Coastguard Workerthe policy to keep the connection nailed up automatically.
17*1c60b9acSAndroid Build Coastguard Worker
18*1c60b9acSAndroid Build Coastguard WorkerSecure Streams provides the same simplified communication api without any
19*1c60b9acSAndroid Build Coastguard Workerprotocol dependencies.
20*1c60b9acSAndroid Build Coastguard Worker
21*1c60b9acSAndroid Build Coastguard Worker## build
22*1c60b9acSAndroid Build Coastguard Worker
23*1c60b9acSAndroid Build Coastguard WorkerLws must have been built with `LWS_ROLE_WS=1`, `LWS_WITH_SECURE_STREAMS=1`, and
24*1c60b9acSAndroid Build Coastguard Worker`LWS_WITHOUT_EXTENSIONS=0`
25*1c60b9acSAndroid Build Coastguard Worker
26*1c60b9acSAndroid Build Coastguard Worker```
27*1c60b9acSAndroid Build Coastguard Worker $ cmake . && make
28*1c60b9acSAndroid Build Coastguard Worker```
29*1c60b9acSAndroid Build Coastguard Worker
30*1c60b9acSAndroid Build Coastguard Worker## Commandline Options
31*1c60b9acSAndroid Build Coastguard Worker
32*1c60b9acSAndroid Build Coastguard WorkerOption|Meaning
33*1c60b9acSAndroid Build Coastguard Worker---|---
34*1c60b9acSAndroid Build Coastguard Worker-d|Set logging verbosity
35*1c60b9acSAndroid Build Coastguard Worker
36*1c60b9acSAndroid Build Coastguard Worker## usage
37*1c60b9acSAndroid Build Coastguard Worker
38*1c60b9acSAndroid Build Coastguard Worker```
39*1c60b9acSAndroid Build Coastguard Worker$ ./bin/lws-minimal-ws-client-binance
40*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8409] U: LWS minimal Secure Streams binance client
41*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8410] N: LWS: 4.2.99-v4.2.0-156-g8f352f65e8, NET CLI SRV H1 H2 WS SS-JSON-POL SSPROX ConMon FLTINJ IPV6-on
42*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8410] N:  ++ [495958|wsi|0|pipe] (1)
43*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8411] N:  ++ [495958|vh|0|netlink] (1)
44*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8433] N:  ++ [495958|vh|1|digicert||-1] (2)
45*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8471] N:  ++ [495958|wsiSScli|0|binance] (1)
46*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8471] N: [495958|wsiSScli|0|binance]: lws_ss_check_next_state_ss: (unset) -> LWSSSCS_CREATING
47*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8472] N: [495958|wsiSScli|0|binance]: lws_ss_check_next_state_ss: LWSSSCS_CREATING -> LWSSSCS_CONNECTING
48*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:40:8472] N:  ++ [495958|wsicli|0|WS/h1/fstream.binance.com/([495958|wsiSScli|0|binance])] (1)
49*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:41:8802] N: [495958|wsiSScli|0|binance]: lws_ss_check_next_state_ss: LWSSSCS_CONNECTING -> LWSSSCS_CONNECTED
50*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:42:8803] N: sul_hz_cb: price: min: 4669185¢, max: 4672159¢, avg: 4670061¢, (53 prices/s)
51*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:42:8803] N: sul_hz_cb: elatency: min: 131ms, max: 292ms, avg: 154ms, (53 msg/s)
52*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:43:8803] N: sul_hz_cb: price: min: 4669646¢, max: 4672159¢, avg: 4669953¢, (34 prices/s)
53*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:43:8803] N: sul_hz_cb: elatency: min: 130ms, max: 149ms, avg: 133ms, (34 msg/s)
54*1c60b9acSAndroid Build Coastguard Worker[2021/08/15 06:42:44:8804] N: sul_hz_cb: price: min: 4669455¢, max: 4672159¢, avg: 4669904¢, (26 prices/s)
55*1c60b9acSAndroid Build Coastguard Worker...
56*1c60b9acSAndroid Build Coastguard Worker```
57