libwebsockets
Lightweight C library for HTML5 websockets
|
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.
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.
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.
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.
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.
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.
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.
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.
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().