MCPcopy Create free account
hub / github.com/HumbleNet/HumbleNet / websocket_protocol

Function websocket_protocol

src/humblenet/src/libsocket.cpp:69–185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67static internal_context_t* g_context;
68
69int websocket_protocol(struct libwebsocket_context *context
70 , struct libwebsocket *wsi
71 , enum libwebsocket_callback_reasons reason
72 , void *user, void *in, size_t len) {
73
74// LOG("%p %p %d %p\n", context, wsi, reason, user );
75
76 internal_socket_t* socket = reinterpret_cast<internal_socket_t*>( user );
77
78 int ret = 0;
79
80 switch (reason) {
81 case LWS_CALLBACK_WSI_CREATE: {
82 socket->wsi = wsi;
83 }
84 break;
85
86 case LWS_CALLBACK_WSI_DESTROY: {
87 ret = socket->callbacks.on_destroy( socket, socket->user_data );
88 if( socket->owner )
89 delete socket;
90 }
91 break;
92
93 case LWS_CALLBACK_CLIENT_CONNECTION_ERROR: {
94 if( socket ) {
95 socket->closing = true;
96 ret = socket->callbacks.on_disconnect( socket, socket->user_data );
97 }
98 } break;
99
100 case LWS_CALLBACK_ESTABLISHED:
101 {
102 ret = socket->callbacks.on_accept( socket, socket->user_data );
103 }
104 break;
105
106 case LWS_CALLBACK_CLIENT_ESTABLISHED:
107 {
108 ret = socket->callbacks.on_connect( socket, socket->user_data );
109 }
110 break;
111
112 case LWS_CALLBACK_CLOSED:
113 {
114 socket->closing = true;
115 ret = socket->callbacks.on_disconnect( socket, socket->user_data );
116 }
117 break;
118
119 case LWS_CALLBACK_RECEIVE:
120 case LWS_CALLBACK_CLIENT_RECEIVE:
121 {
122 ret = socket->callbacks.on_data( socket, in, len, socket->user_data );
123 }
124 break;
125
126 case LWS_CALLBACK_FILTER_PROTOCOL_CONNECTION: {

Callers

nothing calls this directly

Calls 7

BIO_new_mem_bufFunction · 0.85
SSL_CTX_get_cert_storeFunction · 0.85
ERR_peek_last_errorFunction · 0.85
ERR_clear_errorFunction · 0.85
X509_STORE_add_certFunction · 0.85
findMethod · 0.80
endMethod · 0.45

Tested by

no test coverage detected