UniSet
2.24.2
|
Классы | |
struct | sinfo |
Открытые члены | |
UWebSocket (Poco::Net::HTTPServerRequest *req, Poco::Net::HTTPServerResponse *resp) | |
std::string | getInfo () const noexcept |
bool | isActive () |
void | set (ev::dynamic_loop &loop, std::shared_ptr< ev::async > a) |
void | send (ev::timer &t, int revents) |
void | ping (ev::timer &t, int revents) |
void | read (ev::io &io, int revents) |
void | ask (uniset::ObjectId id) |
void | del (uniset::ObjectId id) |
void | get (uniset::ObjectId id) |
void | set (uniset::ObjectId id, long value) |
void | sensorInfo (const uniset::SensorMessage *sm) |
void | doCommand (const std::shared_ptr< SMInterface > &ui) |
void | term () |
void | waitCompletion () |
void | setHearbeatTime (const double &sec) |
void | setSendPeriod (const double &sec) |
void | setMaxSendCount (size_t val) |
void | setMaxCmdCount (size_t val) |
Открытые статические члены | |
static Poco::JSON::Object::Ptr | to_short_json (sinfo *si) |
Открытые атрибуты | |
std::shared_ptr< DebugStream > | mylog |
Защищенные члены | |
void | write () |
void | sendResponse (sinfo &si) |
void | sendShortResponse (sinfo &si) |
void | onCommand (const std::string &cmd) |
void | sendError (const std::string &message) |
Защищенные данные | |
ev::timer | iosend |
double | send_sec = { 0.5 } |
size_t | maxsend = { 5000 } |
size_t | maxcmd = { 200 } |
const int | Kbuf = { 10 } |
ev::timer | ioping |
double | ping_sec = { 3.0 } |
ev::io | iorecv |
char | rbuf [32 *1024] |
timeout_t | recvTimeout = { 200 } |
std::shared_ptr< ev::async > | cmdsignal |
std::mutex | finishmut |
std::condition_variable | finish |
std::atomic_bool | cancelled = { false } |
std::unordered_map< uniset::ObjectId, sinfo > | smap |
std::queue< sinfo > | qcmd |
Poco::Net::HTTPServerRequest * | req |
Poco::Net::HTTPServerResponse * | resp |
std::queue< Poco::JSON::Object::Ptr > | jbuf |
std::queue< uniset::UTCPCore::Buffer * > | wbuf |
size_t | maxsize |
Статические защищенные данные | |
static const std::string | ping_str = "." |
класс реализует работу с websocket через eventloop Из-за того, что поступление логов может быть достаточно быстрым чтобы не "завалить" браузер кучей сообщений, сделана посылка не по факту приёма сообщения, а раз в send_sec, не более maxsend сообщений.
|
protected |