|
libwebsockets
Lightweight C library for HTML5 websockets
|
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | lws_txp_path_client |
| struct | lws_txp_path_proxy |
| struct | lws_transport_client_ops |
| struct | lws_transport_proxy_ops |
| struct | lws_transport_mux_ch |
| struct | lws_transport_info |
| struct | lws_transport_mux |
| struct | lws_txp_mux_parse_cbs |
Macros | |
| #define | LWSSSS_VERSION 1 |
| #define | LWS_MUCH_RANGE 256 |
| #define | LWS_TRANSPORT_MUXCH_MAGIC LWS_FOURCC('T', 'm', 'C', 'h') |
| #define | assert_is_tmch(_tm) |
| #define | LWSTMINFO_SERVER (1 << 0) |
| #define | LWS_TRANSPORT_MUX_MAGIC LWS_FOURCC('I', 's', 'T', 'M') |
| #define | assert_is_tm(_tm) |
| #define | lws_transport_path_client_dump(_a, _b) |
| #define | lws_transport_path_proxy_dump(_a, _b) |
Typedefs | |
| typedef void * | lws_transport_priv_t |
| typedef struct lws_txp_path_client | lws_txp_path_client_t |
| typedef struct lws_txp_path_proxy | lws_txp_path_proxy_t |
| typedef struct lws_transport_client_ops | lws_transport_client_ops_t |
| typedef struct lws_transport_proxy_ops | lws_transport_proxy_ops_t |
| typedef uint8_t | lws_mux_ch_idx_t |
| typedef struct lws_transport_mux_ch | lws_transport_mux_ch_t |
| typedef struct lws_transport_info | lws_transport_info_t |
| typedef struct lws_transport_mux | lws_transport_mux_t |
| typedef struct lws_txp_mux_parse_cbs | lws_txp_mux_parse_cbs_t |
Functions | |
| lws_transport_mux_t * | lws_transport_mux_create (struct lws_context *cx, lws_transport_info_t *info, void *txp_handle) |
| void | lws_transport_mux_destroy (lws_transport_mux_t **tm) |
| void | lws_transport_mux_request_tx (lws_transport_mux_t *tm) |
| int | lws_transport_mux_rx_parse (lws_transport_mux_t *tm, const uint8_t *buf, size_t len, const lws_txp_mux_parse_cbs_t *cbs) |
| int | lws_transport_mux_pending (lws_transport_mux_t *tm, uint8_t *buf, size_t *len, const lws_txp_mux_parse_cbs_t *cbs) |
| struct lws_txp_path_client |
Definition at line 335 of file lws-secure-streams-serialization.h.
Collaboration diagram for lws_txp_path_client:| Data Fields | ||
|---|---|---|
| const struct lws_transport_client_ops * | ops_in | |
| lws_transport_priv_t | priv_in | |
| const struct lws_transport_client_ops * | ops_onw | |
| lws_transport_priv_t | priv_onw | |
| struct lws_transport_mux * | mux | |
| struct lws_txp_path_proxy |
Definition at line 343 of file lws-secure-streams-serialization.h.
Collaboration diagram for lws_txp_path_proxy:| Data Fields | ||
|---|---|---|
| const struct lws_transport_proxy_ops * | ops_in | |
| lws_transport_priv_t | priv_in | |
| const struct lws_transport_proxy_ops * | ops_onw | |
| lws_transport_priv_t | priv_onw | |
| struct lws_transport_mux * | mux | |
| struct lws_transport_client_ops |
Definition at line 355 of file lws-secure-streams-serialization.h.
Collaboration diagram for lws_transport_client_ops:| Data Fields | ||
|---|---|---|
| const char * | name | |
| int(*)(lws_txp_path_client_t *path, struct lws_sspc_handle *h) | event_retry_connect |
Attempt to create a new connection / channel to the proxy |
| lws_ss_state_return_t(*)(struct lws_sspc_handle *h, int disposition) | event_connect_disposition |
Connection attempt result, disposition 9 = success, else failed |
| void(*)(lws_transport_priv_t priv) | req_write |
Request a write to the proxy on this channel |
| int(*)(lws_transport_priv_t priv, uint8_t *buf, size_t len) | _write |
Write the requested data on the channel to the proxy *** MUST have LWS_PRE usable behind buf |
| lws_ss_state_return_t(*)(lws_transport_priv_t priv, const uint8_t *buf, size_t len) | event_read |
len bytes at buf have been received |
| void(*)(lws_transport_priv_t priv) | lost_coherence |
report that the framing inside the mux channel is broken |
| void(*)(lws_transport_priv_t priv) | _close |
Close the channel to the proxy |
| void(*)(lws_transport_priv_t priv) | event_stream_up |
Called when a new channel to the proxy is acknowledged as up |
| void(*)(lws_transport_priv_t priv) | event_client_up |
Called when a client channel is acknowledged as up |
| lws_ss_state_return_t(*)(struct lws_sspc_handle *h, size_t metadata_limit) | event_can_write |
Called when possible to write on the transport, after req_write |
| lws_ss_state_return_t(*)(lws_transport_priv_t priv) | event_closed |
we notice an onward proxy connection had closed |
| uint32_t | flags |
Used for DSH creation flags |
| uint32_t | dsh_splitat | |
| struct lws_transport_proxy_ops |
Definition at line 394 of file lws-secure-streams-serialization.h.
Collaboration diagram for lws_transport_proxy_ops:| Data Fields | ||
|---|---|---|
| const char * | name | |
| int(*)(struct lws_context *context, const struct lws_transport_proxy_ops *txp_ops_inward, lws_transport_priv_t txp_priv_inward, lws_txp_path_proxy_t *txp_ppath, const void *aux, const char *bind, int port) | init_proxy_server |
Instantiate a proxy transport... bind/port are as shown for wsi transport, but may be overloaded to provide transport-specific init |
| int(*)(struct lws_context *context) | destroy_proxy_server | |
| lws_ss_state_return_t(*)(struct lws_context *cx, const struct lws_transport_proxy_ops *txp_ops_inward, lws_transport_priv_t txp_priv_inward, struct lws_sss_proxy_conn **conn, lws_transport_priv_t txp_priv) | event_new_conn |
proxy has received a new connection from client |
| void(*)(lws_transport_priv_t priv, struct lws_ss_handle *h) | event_onward_bind |
Called when the proxy creates an onward SS for a client channel |
| void(*)(lws_transport_priv_t priv) | proxy_req_write |
Request a write to the proxy on this channel |
| lws_ss_state_return_t(*)(lws_transport_priv_t priv) | event_proxy_can_write |
Transport can now be written on, after earlier proxy_req_write |
| int(*)(lws_transport_priv_t priv, uint8_t *buf, size_t *len) | proxy_write |
Write the requested data on the channel to the proxy *** MUST have LWS_PRE usable behind buf. May do partial writes, len is set on return to actual length written |
| lws_ss_state_return_t(*)(struct lws_sss_proxy_conn *conn) | event_close_conn |
proxy sees an existing conn closes |
| lws_ss_state_return_t(*)(struct lws_sss_proxy_conn *conn) | close_conn |
called to handle closure of underlying transport |
| lws_ss_state_return_t(*)(lws_transport_priv_t priv, const uint8_t *buf, size_t len) | proxy_read | |
| void(*)(lws_transport_priv_t priv) | event_client_up |
Called when the proxy has accepted a new client conn |
| int(*)(lws_transport_priv_t priv) | proxy_check_write_more |
optional, allows checking if we can write again |
| uint32_t | flags | |
| struct lws_transport_mux_ch |
Definition at line 483 of file lws-secure-streams-serialization.h.
Collaboration diagram for lws_transport_mux_ch:| Data Fields | ||
|---|---|---|
| lws_dll2_t | list | |
| lws_dll2_t | list_pending_tx | |
| lws_transport_priv_t | priv | |
| lws_sorted_usec_list_t | sul | |
| void * | opaque | |
| lws_mux_ch_idx_t | ch_idx | |
| uint8_t | state | |
| uint8_t | server:1 | |
| struct lws_transport_info |
Definition at line 504 of file lws-secure-streams-serialization.h.
Collaboration diagram for lws_transport_info:| Data Fields | ||
|---|---|---|
| uint32_t | ping_interval_us |
us inbetween transport mux sending pings on transport |
| uint32_t | pong_grace_us |
us we should wait for pong before assuming transport down |
| lws_txp_path_client_t | txp_cpath | |
| lws_txp_path_proxy_t | txp_ppath | |
| struct lws_transport_info * | onward_txp_info | |
| uint32_t | flags | |
| struct lws_transport_mux |
Definition at line 518 of file lws-secure-streams-serialization.h.
Collaboration diagram for lws_transport_mux:| Data Fields | ||
|---|---|---|
| struct lws_context * | cx | |
| lws_transport_info_t | info | |
| lws_sorted_usec_list_t | sul_ping | |
| void * | txp_handle | |
| void * | txp_aux | |
| uint64_t | us_ping_in | |
| uint64_t | us_ping_out | |
| uint64_t | us_unixtime_peer | |
| uint64_t | us_unixtime_peer_loc | |
| uint64_t | mp_time | |
| uint64_t | mp_time1 | |
| enum lwstmc_parser | mp_state | |
| uint32_t | mp_pay | |
| uint8_t | mp_cmd | |
| lws_mux_ch_idx_t | mp_idx | |
| uint8_t | mp_ctr | |
| uint32_t | _open[LWS_MUCH_RANGE/32] | |
| uint32_t | fin[LWS_MUCH_RANGE/32] | |
| lws_dll2_owner_t | pending_tx | |
| lws_dll2_owner_t | owner | |
| uint8_t | link_state | |
| uint8_t | issue_ping:1 | |
| uint8_t | issue_pong:1 | |
| uint8_t | issue_pongack:1 | |
| uint8_t | awaiting_pong:1 | |
| struct lws_txp_mux_parse_cbs |
Definition at line 573 of file lws-secure-streams-serialization.h.
Collaboration diagram for lws_txp_mux_parse_cbs:| Data Fields | ||
|---|---|---|
| int(*)(lws_transport_mux_ch_t *tmc, const uint8_t *buf, size_t len) | payload | |
| int(*)(lws_transport_mux_ch_t *tmc, int determination) | ch_opens | |
| int(*)(lws_transport_mux_ch_t *tmc) | ch_closes | |
| void(*)(lws_transport_mux_t *tm) | txp_req_write | |
| int(*)(lws_transport_mux_ch_t *tmc) | txp_can_write | |
| #define LWSSSS_VERSION 1 |
Definition at line 38 of file lws-secure-streams-serialization.h.
| #define LWS_MUCH_RANGE 256 |
Definition at line 463 of file lws-secure-streams-serialization.h.
| #define LWS_TRANSPORT_MUXCH_MAGIC LWS_FOURCC('T', 'm', 'C', 'h') |
Definition at line 480 of file lws-secure-streams-serialization.h.
| #define assert_is_tmch | ( | _tm | ) |
Definition at line 481 of file lws-secure-streams-serialization.h.
| #define LWSTMINFO_SERVER (1 << 0) |
Definition at line 502 of file lws-secure-streams-serialization.h.
| #define LWS_TRANSPORT_MUX_MAGIC LWS_FOURCC('I', 's', 'T', 'M') |
Definition at line 515 of file lws-secure-streams-serialization.h.
| #define assert_is_tm | ( | _tm | ) |
Definition at line 516 of file lws-secure-streams-serialization.h.
| #define lws_transport_path_client_dump | ( | _a, | |
| _b ) |
Definition at line 565 of file lws-secure-streams-serialization.h.
| #define lws_transport_path_proxy_dump | ( | _a, | |
| _b ) |
Definition at line 566 of file lws-secure-streams-serialization.h.
| typedef void* lws_transport_priv_t |
Definition at line 314 of file lws-secure-streams-serialization.h.
| typedef struct lws_txp_path_client lws_txp_path_client_t |
| typedef struct lws_txp_path_proxy lws_txp_path_proxy_t |
| typedef struct lws_transport_client_ops lws_transport_client_ops_t |
| typedef struct lws_transport_proxy_ops lws_transport_proxy_ops_t |
| typedef uint8_t lws_mux_ch_idx_t |
Definition at line 462 of file lws-secure-streams-serialization.h.
| typedef struct lws_transport_mux_ch lws_transport_mux_ch_t |
| typedef struct lws_transport_info lws_transport_info_t |
| typedef struct lws_transport_mux lws_transport_mux_t |
| typedef struct lws_txp_mux_parse_cbs lws_txp_mux_parse_cbs_t |
| enum lws_sss_cmds_t |
Definition at line 40 of file lws-secure-streams-serialization.h.
| enum lws_ss_conn_states_t |
Definition at line 202 of file lws-secure-streams-serialization.h.
| anonymous enum |
Definition at line 231 of file lws-secure-streams-serialization.h.
| enum lwstmc_parser |
| Enumerator | |
|---|---|
| LWSTMCPAR_CMD | |
| LWSTMCPAR_CHIDX_DONE | |
| LWSTMCPAR_CHIDX | |
| LWSTMCPAR_PLENH | |
| LWSTMCPAR_PLENL | |
| LWSTMCPAR_PAY | |
| LWSTMCPAR_T64_1 | |
| LWSTMCPAR_T64_2 | |
Definition at line 449 of file lws-secure-streams-serialization.h.
| anonymous enum |
Definition at line 467 of file lws-secure-streams-serialization.h.
| anonymous enum |
| Enumerator | |
|---|---|
| LWSTM_TRANSPORT_DOWN | |
| LWSTM_OPERATIONAL | |
Definition at line 497 of file lws-secure-streams-serialization.h.
| lws_transport_mux_t * lws_transport_mux_create | ( | struct lws_context * | cx, |
| lws_transport_info_t * | info, | ||
| void * | txp_handle ) |
| void lws_transport_mux_destroy | ( | lws_transport_mux_t ** | tm | ) |
| void lws_transport_mux_request_tx | ( | lws_transport_mux_t * | tm | ) |
| int lws_transport_mux_rx_parse | ( | lws_transport_mux_t * | tm, |
| const uint8_t * | buf, | ||
| size_t | len, | ||
| const lws_txp_mux_parse_cbs_t * | cbs ) |
| int lws_transport_mux_pending | ( | lws_transport_mux_t * | tm, |
| uint8_t * | buf, | ||
| size_t * | len, | ||
| const lws_txp_mux_parse_cbs_t * | cbs ) |
|
extern |
Referenced by lws_transport_mux_pending().
|
extern |
Referenced by lws_transport_mux_pending().
|
extern |
Referenced by lws_transport_mux_pending().
|
extern |
Referenced by lws_transport_mux_pending().