UniSet 2.41.2
Класс uniset::LogDB::LogWebSocket

#include <LogDB.h>

Граф наследования:uniset::LogDB::LogWebSocket:
Граф связей класса uniset::LogDB::LogWebSocket:

Открытые члены

 LogWebSocket (Poco::Net::HTTPServerRequest *req, Poco::Net::HTTPServerResponse *resp, std::shared_ptr< Log > &log)
bool isActive ()
void set (ev::dynamic_loop &loop)
void send (ev::timer &t, int revents)
void ping (ev::timer &t, int revents)
void add (Log *log, const std::string &txt)
void term ()
void waitCompletion ()
void setHearbeatTime (const double &sec)
void setSendPeriod (const double &sec)
void setMaxSendCount (size_t val)

Открытые атрибуты

std::shared_ptr< DebugStreamdblog

Защищенные члены

void write ()

Защищенные данные

ev::timer iosend
double send_sec = { 0.5 }
size_t maxsend = { 200 }
ev::timer ioping
double ping_sec = { 3.0 }
std::mutex finishmut
std::condition_variable finish
std::atomic_bool cancelled = { false }
sigc::connection con
Poco::Net::HTTPServerRequest * req
Poco::Net::HTTPServerResponse * resp
std::queue< UTCPCore::Buffer * > wbuf
size_t maxsize
std::shared_ptr< Loglog

Подробное описание

класс реализует работу с websocket через eventloop Из-за того, что поступление логов может быть достаточно быстрым чтобы не "завалить" браузер кучей сообщений, сделана посылка не по факту приёма сообщения, а раз в send_sec, не более maxsend сообщений.