Commit eceea3c3 authored by Pavel Vainerman's avatar Pavel Vainerman

fix after merge

parent 36839d01
...@@ -594,10 +594,7 @@ AC_CONFIG_FILES([Makefile ...@@ -594,10 +594,7 @@ AC_CONFIG_FILES([Makefile
extensions/HttpResolver/Makefile extensions/HttpResolver/Makefile
extensions/HttpResolver/tests/Makefile extensions/HttpResolver/tests/Makefile
extensions/UWebSocketGate/Makefile extensions/UWebSocketGate/Makefile
<<<<<<< HEAD
=======
extensions/UWebSocketGate/tests/Makefile extensions/UWebSocketGate/tests/Makefile
>>>>>>> 2.9.4-alt0.1
testsuite/Makefile testsuite/Makefile
wrappers/Makefile wrappers/Makefile
wrappers/python/lib/Makefile wrappers/python/lib/Makefile
......
...@@ -7,11 +7,7 @@ SUBDIRS = lib include SharedMemory SharedMemory/tests IOControl IOControl/tests ...@@ -7,11 +7,7 @@ SUBDIRS = lib include SharedMemory SharedMemory/tests IOControl IOControl/tests
ModbusMaster ModbusSlave SMViewer UniNetwork UNetUDP UNetUDP/tests \ ModbusMaster ModbusSlave SMViewer UniNetwork UNetUDP UNetUDP/tests \
DBServer-MySQL DBServer-SQLite DBServer-PostgreSQL MQTTPublisher \ DBServer-MySQL DBServer-SQLite DBServer-PostgreSQL MQTTPublisher \
RRDServer tests ModbusMaster/tests ModbusSlave/tests LogDB LogDB/tests \ RRDServer tests ModbusMaster/tests ModbusSlave/tests LogDB LogDB/tests \
<<<<<<< HEAD
Backend-OpenTSDB HttpResolver HttpResolver/tests UWebSocketGate
=======
Backend-OpenTSDB HttpResolver HttpResolver/tests UWebSocketGate UWebSocketGate/tests Backend-OpenTSDB HttpResolver HttpResolver/tests UWebSocketGate UWebSocketGate/tests
>>>>>>> 2.9.4-alt0.1
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
......
<<<<<<< HEAD
=======
if ENABLE_REST_API if ENABLE_REST_API
>>>>>>> 2.9.4-alt0.1
bin_PROGRAMS = @PACKAGE@-wsgate bin_PROGRAMS = @PACKAGE@-wsgate
@PACKAGE@_wsgate_LDADD = $(top_builddir)/lib/libUniSet2.la @PACKAGE@_wsgate_LDADD = $(top_builddir)/lib/libUniSet2.la
@PACKAGE@_wsgate_SOURCES = UWebSocketGate.cc main.cc @PACKAGE@_wsgate_SOURCES = UWebSocketGate.cc main.cc
include $(top_builddir)/include.mk include $(top_builddir)/include.mk
<<<<<<< HEAD
=======
endif endif
>>>>>>> 2.9.4-alt0.1
...@@ -55,21 +55,13 @@ namespace uniset ...@@ -55,21 +55,13 @@ namespace uniset
об изменнии датчиков, а так же изменять состояние (см. \ref sec_UWebSocketGate_Command). об изменнии датчиков, а так же изменять состояние (см. \ref sec_UWebSocketGate_Command).
Подключение к websocket-у доступно по адресу: Подключение к websocket-у доступно по адресу:
\code \code
<<<<<<< HEAD
ws://host:port/wsgate/?s1,s2,s3,s4&format=[json,txt,raw]
=======
ws://host:port/wsgate/ ws://host:port/wsgate/
>>>>>>> 2.9.4-alt0.1
\endcode \endcode
Помимо этого UWebSocketGate работает в режиме мониторинга изменений датчиков. Помимо этого UWebSocketGate работает в режиме мониторинга изменений датчиков.
Для этого достаточно зайти на страничку по адресу: Для этого достаточно зайти на страничку по адресу:
\code \code
<<<<<<< HEAD
http://host:port/wsgate/?s1,s2,s3,s4&format=[json,txt,raw]
=======
http://host:port/wsgate/?s1,s2,s3,s4 http://host:port/wsgate/?s1,s2,s3,s4
>>>>>>> 2.9.4-alt0.1
\endcode \endcode
\section sec_UWebSocketGate_Conf Конфигурирование UWebSocketGate \section sec_UWebSocketGate_Conf Конфигурирование UWebSocketGate
...@@ -83,9 +75,6 @@ namespace uniset ...@@ -83,9 +75,6 @@ namespace uniset
\section sec_UWebSocketGate_DETAIL UWebSocketGate: Технические детали \section sec_UWebSocketGate_DETAIL UWebSocketGate: Технические детали
Вся релизация построена на "однопоточном" eventloop. Если датчики долго не меняются, то периодически посылается "ping" сообщение. Вся релизация построена на "однопоточном" eventloop. Если датчики долго не меняются, то периодически посылается "ping" сообщение.
<<<<<<< HEAD
\section sec_UWebSocketGate_Command Команды
=======
\section sec_UWebSocketGate_Messages Сообщения \section sec_UWebSocketGate_Messages Сообщения
Общий формат сообщений Общий формат сообщений
\code \code
...@@ -169,7 +158,6 @@ namespace uniset ...@@ -169,7 +158,6 @@ namespace uniset
--prefix-ws-heartbeat-time msec --prefix-ws-heartbeat-time msec
\section sec_UWebSocketGate_Command Команды \section sec_UWebSocketGate_Command Команды
>>>>>>> 2.9.4-alt0.1
Через websocket можно посылать команды. Через websocket можно посылать команды.
На текущий момент формат команды строковый. На текущий момент формат команды строковый.
Т.е. для подачи команды, необходимо послать просто строку. Т.е. для подачи команды, необходимо послать просто строку.
...@@ -178,13 +166,7 @@ namespace uniset ...@@ -178,13 +166,7 @@ namespace uniset
- "set:id1=val1,id2=val2,name3=val4,..." - выставить значение датчиков - "set:id1=val1,id2=val2,name3=val4,..." - выставить значение датчиков
- "ask:id1,id2,name3,..." - подписаться на уведомления об изменении датчиков (sensorInfo) - "ask:id1,id2,name3,..." - подписаться на уведомления об изменении датчиков (sensorInfo)
- "del:id1,id2,name3,..." - отказаться от уведомления об изменении датчиков - "del:id1,id2,name3,..." - отказаться от уведомления об изменении датчиков
<<<<<<< HEAD
\todo Разобраться с "ping" сообщением для формата json..
\todo Настройка check_sec из командной строки и configure.xml
=======
- "get:id1,id2,name3,..." - получить текущее значение датчиков (разовое сообщение ShortSensorInfo) - "get:id1,id2,name3,..." - получить текущее значение датчиков (разовое сообщение ShortSensorInfo)
>>>>>>> 2.9.4-alt0.1
*/ */
class UWebSocketGate: class UWebSocketGate:
public UniSetObject, public UniSetObject,
...@@ -247,12 +229,8 @@ namespace uniset ...@@ -247,12 +229,8 @@ namespace uniset
void checkMessages( ev::timer& t, int revents ); void checkMessages( ev::timer& t, int revents );
virtual void sensorInfo( const uniset::SensorMessage* sm ) override; virtual void sensorInfo( const uniset::SensorMessage* sm ) override;
ev::timer iocheck; ev::timer iocheck;
<<<<<<< HEAD
double check_sec = { 0.3 };
=======
double check_sec = { 0.05 }; double check_sec = { 0.05 };
int maxMessagesProcessing = { 100 }; int maxMessagesProcessing = { 100 };
>>>>>>> 2.9.4-alt0.1
std::shared_ptr<DebugStream> mylog; std::shared_ptr<DebugStream> mylog;
...@@ -265,27 +243,9 @@ namespace uniset ...@@ -265,27 +243,9 @@ namespace uniset
double wsHeartbeatTime_sec = { 3.0 }; double wsHeartbeatTime_sec = { 3.0 };
double wsSendTime_sec = { 0.5 }; double wsSendTime_sec = { 0.5 };
size_t wsMaxSend = { 200 }; size_t wsMaxSend = { 200 };
<<<<<<< HEAD
enum class RespondFormat
{
UNKNOWN,
JSON,
TXT,
RAW
};
RespondFormat from_string( const std::string& str );
static UTCPCore::Buffer* format( const uniset::SensorMessage* sm, const std::string& err, const RespondFormat fmt );
static UTCPCore::Buffer* to_json( const uniset::SensorMessage* sm, const std::string& err );
static UTCPCore::Buffer* to_txt( const uniset::SensorMessage* sm, const std::string& err );
static UTCPCore::Buffer* to_raw( const uniset::SensorMessage* sm, const std::string& err );
=======
size_t wsMaxCmd = { 100 }; size_t wsMaxCmd = { 100 };
static Poco::JSON::Object::Ptr to_json( const uniset::SensorMessage* sm, const std::string& err ); static Poco::JSON::Object::Ptr to_json( const uniset::SensorMessage* sm, const std::string& err );
>>>>>>> 2.9.4-alt0.1
/*! класс реализует работу с websocket через eventloop /*! класс реализует работу с websocket через eventloop
* Из-за того, что поступление логов может быть достаточно быстрым * Из-за того, что поступление логов может быть достаточно быстрым
...@@ -318,13 +278,6 @@ namespace uniset ...@@ -318,13 +278,6 @@ namespace uniset
long value = { 0 }; // set value long value = { 0 }; // set value
}; };
<<<<<<< HEAD
void add( const sinfo& si );
void del( uniset::ObjectId id );
void set( uniset::ObjectId id, long value );
void sensorInfo( const uniset::SensorMessage* sm );
void doCommand( const std::shared_ptr<UInterface>& ui );
=======
void ask( uniset::ObjectId id ); void ask( uniset::ObjectId id );
void del( uniset::ObjectId id ); void del( uniset::ObjectId id );
...@@ -333,7 +286,6 @@ namespace uniset ...@@ -333,7 +286,6 @@ namespace uniset
void sensorInfo( const uniset::SensorMessage* sm ); void sensorInfo( const uniset::SensorMessage* sm );
void doCommand( const std::shared_ptr<UInterface>& ui ); void doCommand( const std::shared_ptr<UInterface>& ui );
static Poco::JSON::Object::Ptr to_short_json( sinfo* si ); static Poco::JSON::Object::Ptr to_short_json( sinfo* si );
>>>>>>> 2.9.4-alt0.1
void term(); void term();
...@@ -343,32 +295,21 @@ namespace uniset ...@@ -343,32 +295,21 @@ namespace uniset
void setHearbeatTime( const double& sec ); void setHearbeatTime( const double& sec );
void setSendPeriod( const double& sec ); void setSendPeriod( const double& sec );
void setMaxSendCount( size_t val ); void setMaxSendCount( size_t val );
<<<<<<< HEAD
void setRespondFormat( RespondFormat f );
=======
void setMaxCmdCount( size_t val ); void setMaxCmdCount( size_t val );
>>>>>>> 2.9.4-alt0.1
std::shared_ptr<DebugStream> mylog; std::shared_ptr<DebugStream> mylog;
protected: protected:
void write(); void write();
<<<<<<< HEAD
void sendError( sinfo& si, const std::string& err );
=======
void sendResponse( sinfo& si ); void sendResponse( sinfo& si );
void sendShortResponse( sinfo& si ); void sendShortResponse( sinfo& si );
>>>>>>> 2.9.4-alt0.1
void onCommand( const std::string& cmd ); void onCommand( const std::string& cmd );
ev::timer iosend; ev::timer iosend;
double send_sec = { 0.5 }; double send_sec = { 0.5 };
size_t maxsend = { 200 }; size_t maxsend = { 200 };
<<<<<<< HEAD
=======
size_t maxcmd = { 100 }; size_t maxcmd = { 100 };
>>>>>>> 2.9.4-alt0.1
ev::timer ioping; ev::timer ioping;
double ping_sec = { 3.0 }; double ping_sec = { 3.0 };
...@@ -385,25 +326,16 @@ namespace uniset ...@@ -385,25 +326,16 @@ namespace uniset
std::atomic_bool cancelled = { false }; std::atomic_bool cancelled = { false };
std::unordered_map<uniset::ObjectId, sinfo> smap; std::unordered_map<uniset::ObjectId, sinfo> smap;
<<<<<<< HEAD
RespondFormat fmt = { RespondFormat::JSON };
=======
std::queue<sinfo> qcmd; // очередь команд std::queue<sinfo> qcmd; // очередь команд
>>>>>>> 2.9.4-alt0.1
Poco::Net::HTTPServerRequest* req; Poco::Net::HTTPServerRequest* req;
Poco::Net::HTTPServerResponse* resp; Poco::Net::HTTPServerResponse* resp;
<<<<<<< HEAD
// очередь данных на посылку..
std::queue<UTCPCore::Buffer*> wbuf;
=======
// очередь json-на отправку // очередь json-на отправку
std::queue<Poco::JSON::Object::Ptr> jbuf; std::queue<Poco::JSON::Object::Ptr> jbuf;
// очередь данных на посылку.. // очередь данных на посылку..
std::queue<uniset::UTCPCore::Buffer*> wbuf; std::queue<uniset::UTCPCore::Buffer*> wbuf;
>>>>>>> 2.9.4-alt0.1
size_t maxsize; // рассчитывается сходя из max_send (см. конструктор) size_t maxsize; // рассчитывается сходя из max_send (см. конструктор)
}; };
......
...@@ -297,8 +297,6 @@ ...@@ -297,8 +297,6 @@
./extensions/UniNetwork/uninet.cc ./extensions/UniNetwork/uninet.cc
./extensions/UWebSocketGate/main.cc ./extensions/UWebSocketGate/main.cc
./extensions/UWebSocketGate/Makefile.am ./extensions/UWebSocketGate/Makefile.am
<<<<<<< HEAD
=======
./extensions/UWebSocketGate.old/main.cc ./extensions/UWebSocketGate.old/main.cc
./extensions/UWebSocketGate.old/Makefile.am ./extensions/UWebSocketGate.old/Makefile.am
./extensions/UWebSocketGate.old/UWebSocketGate.cc ./extensions/UWebSocketGate.old/UWebSocketGate.cc
...@@ -307,7 +305,6 @@ ...@@ -307,7 +305,6 @@
./extensions/UWebSocketGate/tests/Makefile.am ./extensions/UWebSocketGate/tests/Makefile.am
./extensions/UWebSocketGate/tests/tests_with_sm.cc ./extensions/UWebSocketGate/tests/tests_with_sm.cc
./extensions/UWebSocketGate/tests/test_uwebsocketgate.cc ./extensions/UWebSocketGate/tests/test_uwebsocketgate.cc
>>>>>>> 2.9.4-alt0.1
./extensions/UWebSocketGate/UWebSocketGate.cc ./extensions/UWebSocketGate/UWebSocketGate.cc
./extensions/UWebSocketGate/UWebSocketGate.h ./extensions/UWebSocketGate/UWebSocketGate.h
./extensions/UWebSocketGate/UWebSocketGateSugar.h ./extensions/UWebSocketGate/UWebSocketGateSugar.h
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment