WebSocket protocol implementation for the server module. This WebSocket library turns a TCP stream protocol into a WebSocket protocol.
More...
|
| struct | __attribute__ ((packed)) pkrsrv_websocket_packet_frame_len8 |
| |
| char * | pkrsrv_websocket_generate_ws_accept_key (char *websocket_key) |
| |
| void | pkrsrv_websocket_init (pkrsrv_websocket_t *ws) |
| |
| void | pkrsrv_websocket_cleanup (pkrsrv_websocket_t *ws) |
| |
| ssize_t | pkrsrv_websocket_read_http_header (pkrsrv_websocket_t *ws, SSL *ssl) |
| |
| ssize_t | pkrsrv_websocket_read_header (pkrsrv_websocket_t *ws, SSL *ssl) |
| |
| ssize_t | pkrsrv_websocket_read_payload (pkrsrv_websocket_t *ws, SSL *ssl, void *buffer, ssize_t size) |
| |
| ssize_t | pkrsrv_websocket_send_header (pkrsrv_websocket_t *ws, SSL *ssl, ssize_t length) |
| |
| void | pkrsrv_websocket_fragmented_begin (pkrsrv_websocket_t *ws, SSL *ssl, size_t length) |
| |
| ssize_t | pkrsrv_websocket_fragmented_put (pkrsrv_websocket_t *ws, SSL *ssl, void *data, ssize_t length) |
| |
WebSocket protocol implementation for the server module. This WebSocket library turns a TCP stream protocol into a WebSocket protocol.
◆ pkrsrv_websocket_header_t
| struct pkrsrv_websocket_header_t |
| Data Fields |
|
uint8_t |
header0_16[2] |
|
|
uint8_t |
fin |
|
|
uint64_t |
plen |
|
|
uint16_t |
plen16 |
|
|
uint64_t |
plen64 |
|
|
uint8_t |
opcode |
|
|
uint8_t |
is_masked |
|
|
unsigned char |
mkey[4] |
|
|
int |
mask_i |
|
◆ pkrsrv_websocket_payload_t
| struct pkrsrv_websocket_payload_t |
| Data Fields |
|
ssize_t |
length |
|
|
unsigned char * |
data |
|
◆ pkrsrv_websocket_t
| struct pkrsrv_websocket_t |
| Data Fields |
|
int(*)(SSL *ssl, void *buffer, ssize_t length) |
read |
|
|
int(*)(SSL *ssl, void *buffer, ssize_t length) |
write |
|
|
pkrsrv_websocket_header_t |
current_header |
|
|
bool |
is_fragmented |
|
|
char * |
buffer |
|
|
int |
buffer_length |
|
|
int |
buffer_readed |
|
|
pthread_mutex_t * |
write_mutex |
|
◆ PKRSRV_WEBSOCKET_EXPECTED_HTTP_HEADER
| #define PKRSRV_WEBSOCKET_EXPECTED_HTTP_HEADER "GET / HTTP/1.1" |
◆ pkrsrv_websocket_packet_frame_header
| #define pkrsrv_websocket_packet_frame_header |
Value: uint8_t fin_rsv_opcode; \
uint8_t mlen8;
Referenced by __attribute__().
◆ PKRSRV_WEBSOCKET_GUID
| #define PKRSRV_WEBSOCKET_GUID "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" |
◆ HTTP_HEADER_BUFF_SIZE
| #define HTTP_HEADER_BUFF_SIZE 1000 |
◆ HTTP_PROP_BUFF_SIZE
| #define HTTP_PROP_BUFF_SIZE 40 |
◆ HTTP_VAL_BUFF_SIZE
| #define HTTP_VAL_BUFF_SIZE 50 |
◆ pkrsrv_websocket_packet_frame_len8_t
◆ pkrsrv_websocket_packet_frame_len16_t
◆ pkrsrv_websocket_packet_frame_len64_t
◆ PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE
| Enumerator |
|---|
| PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_METHOD | |
| PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_PROP | |
| PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_SPACE | |
| PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_VAL | |
| PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_CR | |
| PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_END | |
◆ PKRSRV_WEBSOCKET_RESPONSE
| Enumerator |
|---|
| PKRSRV_WEBSOCKET_RESPONSE_INSTANCE_PORT | |
◆ __attribute__()
| struct __attribute__ |
( |
(packed) | | ) |
|
◆ pkrsrv_websocket_generate_ws_accept_key()
| char * pkrsrv_websocket_generate_ws_accept_key |
( |
char * | websocket_key | ) |
|
|
extern |
◆ pkrsrv_websocket_init()
◆ pkrsrv_websocket_cleanup()
◆ pkrsrv_websocket_read_http_header()
◆ pkrsrv_websocket_read_header()
◆ pkrsrv_websocket_read_payload()
| ssize_t pkrsrv_websocket_read_payload |
( |
pkrsrv_websocket_t * | ws, |
|
|
SSL * | ssl, |
|
|
void * | buffer, |
|
|
ssize_t | size ) |
|
extern |
◆ pkrsrv_websocket_send_header()
| ssize_t pkrsrv_websocket_send_header |
( |
pkrsrv_websocket_t * | ws, |
|
|
SSL * | ssl, |
|
|
ssize_t | length ) |
|
extern |
◆ pkrsrv_websocket_fragmented_begin()
| void pkrsrv_websocket_fragmented_begin |
( |
pkrsrv_websocket_t * | ws, |
|
|
SSL * | ssl, |
|
|
size_t | length ) |
|
extern |
◆ pkrsrv_websocket_fragmented_put()
| ssize_t pkrsrv_websocket_fragmented_put |
( |
pkrsrv_websocket_t * | ws, |
|
|
SSL * | ssl, |
|
|
void * | data, |
|
|
ssize_t | length ) |
|
extern |