bmsd/websocket.h

Fri, 17 Jun 2022 16:18:04 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 17 Jun 2022 16:18:04 +0200
changeset 790
98bd22f6629b
parent 671
4b54d6f79d25
permissions
-rw-r--r--

Version 0.3.39. Log ispindel, fermenters and co2pressure in MySQL. Limit logging to at most once per 10 minutes.

/**
 * @file websocket.h
 */

#ifndef _WEBSOCKET_H
#define	_WEBSOCKET_H


struct per_session_data__lws_mirror {
        struct lws *wsi;
        int ringbuffer_tail;
};

/**
 * @brief Broadcast messages to all connected websocket clients.
 * @param msg The message to send. Messages are placed in a ringbuffer queue.
 */
void ws_broadcast(char *msg);

/**
 * @brief Check if a connection is idle for 45 seconds and if so send a ping like
 *        message to keep the connection alive. Call this function at regular intervals.
 */
void ws_check(void);

/**
 * @brief The websockets server thread.
 */
void *ws_loop(void *);

#endif

mercurial