bmsd/websocket.c

changeset 697
367ae7ff52f0
parent 696
f4de55f587c1
child 795
9472106a3143
equal deleted inserted replaced
696:f4de55f587c1 697:367ae7ff52f0
75 75
76 switch (reason) { 76 switch (reason) {
77 77
78 case LWS_CALLBACK_ESTABLISHED: { 78 case LWS_CALLBACK_ESTABLISHED: {
79 ws_clients++; 79 ws_clients++;
80 syslog(LOG_NOTICE, "ws: new connection, total %d", ws_clients);
81 pss->ringbuffer_tail = ringbuffer_head; 80 pss->ringbuffer_tail = ringbuffer_head;
82 pss->wsi = wsi; 81 pss->wsi = wsi;
83 break; 82 break;
84 } 83 }
85 84
86 case LWS_CALLBACK_PROTOCOL_DESTROY: 85 case LWS_CALLBACK_PROTOCOL_DESTROY:
87 syslog(LOG_NOTICE, "ws: protocol cleaning up"); 86 syslog(LOG_NOTICE, "Websocket: protocol cleaning up");
88 for (n = 0; n < sizeof ringbuffer / sizeof ringbuffer[0]; n++) 87 for (n = 0; n < sizeof ringbuffer / sizeof ringbuffer[0]; n++)
89 if (ringbuffer[n].payload) 88 if (ringbuffer[n].payload)
90 free(ringbuffer[n].payload); 89 free(ringbuffer[n].payload);
91 break; 90 break;
92 91
131 130
132 break; 131 break;
133 132
134 case LWS_CALLBACK_CLOSED: 133 case LWS_CALLBACK_CLOSED:
135 ws_clients--; 134 ws_clients--;
136 syslog(LOG_NOTICE, "ws: connection closed, left %d", ws_clients);
137 break; 135 break;
138 136
139 default: 137 default:
140 break; 138 break;
141 } 139 }
220 218
221 context = lws_create_context(&info); 219 context = lws_create_context(&info);
222 220
223 if (context == NULL) { 221 if (context == NULL) {
224 syslog(LOG_NOTICE, "libwebsocket_create_context() failed"); 222 syslog(LOG_NOTICE, "libwebsocket_create_context() failed");
225 } 223 return (void *)1;
226 syslog(LOG_NOTICE, "Websocket server port %d started", info.port); 224 }
225 syslog(LOG_NOTICE, "Websocket: server started port %d", info.port);
227 226
228 /* 227 /*
229 * Loop forever until external shutdown variable is set. 228 * Loop forever until external shutdown variable is set.
230 */ 229 */
231 while (n >= 0 && ! my_shutdown) { 230 while (n >= 0 && ! my_shutdown) {
232 231
233 n = lws_service(context, 50); 232 n = lws_service(context, 50);
234 } 233 }
235 lws_context_destroy(context); 234 lws_context_destroy(context);
236 235
237 syslog(LOG_NOTICE, "Thread ws_loop stopped"); 236 syslog(LOG_NOTICE, "Websocket: server stopped");
238 return 0; 237 return (void *)0;
239 } 238 }
240 239
241 240

mercurial