|
- #ifndef IZ_WSCLIENT_H
- #define IZ_WSCLIENT_H
-
- #include "../../common/IZ_common.h"
- #include "../core/IZ_websocket.h"
-
- typedef struct {
- struct lws_context *context;
- struct lws_vhost *vhost;
- const struct lws_protocols *protocol;
-
- lws_sorted_usec_list_t sul;
-
- struct lws_ring *ring; /* ringbuffer holding unsent messages */
- u32 tail;
-
- struct lws_client_connect_info i;
- struct lws *client_wsi;
-
- const char* address;
- const char* path;
- u16* port;
- const void* app;
- } IZ_WSClientVHostData;
-
- typedef struct {
- struct lws_ring *ring;
- u32 tail;
- unsigned char flow_controlled: 1;
- } IZ_WSClientSessionData;
-
- typedef struct {
- const char* host;
- const char* path;
- u16 port;
- } IZ_WSClientInitializeParams;
-
- typedef IZ_WSClientInitializeParams IZ_NetInitializeParams;
-
- IZ_ProcedureResult IZ_WSClientInitialize(IZ_Websocket*, IZ_WSClientInitializeParams);
-
- IZ_ProcedureResult IZ_WSClientHandle(IZ_Websocket*);
-
- void IZ_WSClientTeardown(IZ_Websocket*);
-
- void IZ_WSClientCancelService(IZ_Websocket*);
-
- IZ_ProcedureResult IZ_WSClientProtocolInitialize(struct lws*, void*);
-
- void IZ_WSClientProtocolTeardown(struct lws*);
-
- IZ_ProcedureResult IZ_WSClientConnectionError(struct lws*, void*);
-
- IZ_ProcedureResult IZ_WSClientOnOpen(struct lws*, IZ_WSClientSessionData*);
-
- void IZ_WSClientOnClose(struct lws*);
-
- IZ_ProcedureResult IZ_WSClientWritable(struct lws*);
-
- void IZ_WSClientOnReceive(struct lws*, IZ_WSClientSessionData*, void*, size_t);
-
- #endif
|