bmsd/websocket.h

Thu, 12 Oct 2023 14:19:46 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 12 Oct 2023 14:19:46 +0200
changeset 849
16079aef4c4c
parent 671
4b54d6f79d25
permissions
-rw-r--r--

Version 0.3.44. Moved iSpindel Plato calculation from the php script to bmsd. This uses calibration data in the mon_ispindels table. Setup of this data will be done by the bmsapp applications. Default settings are stored in MySQL. From now on you don't need to store calibration data in the iSpindel.

/**
 * @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