1
0
mirror of https://github.com/lammertb/libhttp.git synced 2025-04-27 00:28:51 +03:00
libhttp/examples/websocket/WebSockCallbacks.h
bel d264808e52 Clean usage of const/not const mg_context* and mg_connection* handles in the API.
The API had an inconsistant usage of `const mg_connection *` and `mg_connection *`,
that may cause warnings (e.g., #109). Now all non-const `mg_connection *` is only
required to read/write the connection.
2015-04-29 00:13:25 +02:00

39 lines
892 B
C

#ifndef WEBSOCKCALLBACKS_H_INCLUDED
#define WEBSOCKCALLBACKS_H_INCLUDED
#include "civetweb.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct tWebSockInfo {
int webSockState;
unsigned long initId;
struct mg_connection *conn;
} tWebSockInfo;
#define MAX_NUM_OF_WEBSOCKS (256)
typedef struct tWebSockContext {
int runLoop;
void * thread_id;
tWebSockInfo *socketList[MAX_NUM_OF_WEBSOCKS];
} tWebSockContext;
void websock_init_lib(const struct mg_context *ctx);
void websock_exit_lib(const struct mg_context *ctx);
void websock_send_broadcast(struct mg_context *ctx, const char * data, int data_len);
void websocket_ready_handler(struct mg_connection *conn);
int websocket_data_handler(struct mg_connection *conn, int flags, char *data, size_t data_len);
void connection_close_handler(const struct mg_connection *conn);
#ifdef __cplusplus
}
#endif
#endif