Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
eceea3c3
Commit
eceea3c3
authored
Mar 05, 2021
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix after merge
parent
36839d01
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
0 additions
and
84 deletions
+0
-84
configure.ac
configure.ac
+0
-3
Makefile.am
extensions/Makefile.am
+0
-4
Makefile.am
extensions/UWebSocketGate/Makefile.am
+0
-6
UWebSocketGate.cc
extensions/UWebSocketGate/UWebSocketGate.cc
+0
-0
UWebSocketGate.h
extensions/UWebSocketGate/UWebSocketGate.h
+0
-68
uniset2.files
uniset2.files
+0
-3
No files found.
configure.ac
View file @
eceea3c3
...
...
@@ -594,10 +594,7 @@ AC_CONFIG_FILES([Makefile
extensions/HttpResolver/Makefile
extensions/HttpResolver/tests/Makefile
extensions/UWebSocketGate/Makefile
<<<<<<< HEAD
=======
extensions/UWebSocketGate/tests/Makefile
>>>>>>> 2.9.4-alt0.1
testsuite/Makefile
wrappers/Makefile
wrappers/python/lib/Makefile
...
...
extensions/Makefile.am
View file @
eceea3c3
...
...
@@ -7,11 +7,7 @@ SUBDIRS = lib include SharedMemory SharedMemory/tests IOControl IOControl/tests
ModbusMaster ModbusSlave SMViewer UniNetwork UNetUDP UNetUDP/tests
\
DBServer-MySQL DBServer-SQLite DBServer-PostgreSQL MQTTPublisher
\
RRDServer tests ModbusMaster/tests ModbusSlave/tests LogDB LogDB/tests
\
<<<<<<
< HEAD
Backend-OpenTSDB
HttpResolver
HttpResolver/tests
UWebSocketGate
=======
Backend-OpenTSDB HttpResolver HttpResolver/tests UWebSocketGate UWebSocketGate/tests
>>>>>>>
2.9.4-alt0.1
pkgconfigdir
=
$(libdir)
/pkgconfig
...
...
extensions/UWebSocketGate/Makefile.am
View file @
eceea3c3
<<<<<<<
HEAD
=======
if
ENABLE_REST_API
>>>>>>>
2.9.4-alt0.1
bin_PROGRAMS
=
@PACKAGE@-wsgate
@PACKAGE@
_wsgate_LDADD
=
$(top_builddir)
/lib/libUniSet2.la
@PACKAGE@
_wsgate_SOURCES
=
UWebSocketGate.cc main.cc
include
$(top_builddir)/include.mk
<<<<<<<
HEAD
=======
endif
>>>>>>>
2.9.4-alt0.1
extensions/UWebSocketGate/UWebSocketGate.cc
View file @
eceea3c3
This diff is collapsed.
Click to expand it.
extensions/UWebSocketGate/UWebSocketGate.h
View file @
eceea3c3
...
...
@@ -55,21 +55,13 @@ namespace uniset
об изменнии датчиков, а так же изменять состояние (см. \ref sec_UWebSocketGate_Command).
Подключение к websocket-у доступно по адресу:
\code
<<<<<<< HEAD
ws://host:port/wsgate/?s1,s2,s3,s4&format=[json,txt,raw]
=======
ws://host:port/wsgate/
>>>>>>> 2.9.4-alt0.1
\endcode
Помимо этого UWebSocketGate работает в режиме мониторинга изменений датчиков.
Для этого достаточно зайти на страничку по адресу:
\code
<<<<<<< HEAD
http://host:port/wsgate/?s1,s2,s3,s4&format=[json,txt,raw]
=======
http://host:port/wsgate/?s1,s2,s3,s4
>>>>>>> 2.9.4-alt0.1
\endcode
\section sec_UWebSocketGate_Conf Конфигурирование UWebSocketGate
...
...
@@ -83,9 +75,6 @@ namespace uniset
\section sec_UWebSocketGate_DETAIL UWebSocketGate: Технические детали
Вся релизация построена на "однопоточном" eventloop. Если датчики долго не меняются, то периодически посылается "ping" сообщение.
<<<<<<< HEAD
\section sec_UWebSocketGate_Command Команды
=======
\section sec_UWebSocketGate_Messages Сообщения
Общий формат сообщений
\code
...
...
@@ -169,7 +158,6 @@ namespace uniset
--prefix-ws-heartbeat-time msec
\section sec_UWebSocketGate_Command Команды
>>>>>>> 2.9.4-alt0.1
Через websocket можно посылать команды.
На текущий момент формат команды строковый.
Т.е. для подачи команды, необходимо послать просто строку.
...
...
@@ -178,13 +166,7 @@ namespace uniset
- "set:id1=val1,id2=val2,name3=val4,..." - выставить значение датчиков
- "ask:id1,id2,name3,..." - подписаться на уведомления об изменении датчиков (sensorInfo)
- "del:id1,id2,name3,..." - отказаться от уведомления об изменении датчиков
<<<<<<< HEAD
\todo Разобраться с "ping" сообщением для формата json..
\todo Настройка check_sec из командной строки и configure.xml
=======
- "get:id1,id2,name3,..." - получить текущее значение датчиков (разовое сообщение ShortSensorInfo)
>>>>>>> 2.9.4-alt0.1
*/
class
UWebSocketGate
:
public
UniSetObject
,
...
...
@@ -247,12 +229,8 @@ namespace uniset
void
checkMessages
(
ev
::
timer
&
t
,
int
revents
);
virtual
void
sensorInfo
(
const
uniset
::
SensorMessage
*
sm
)
override
;
ev
::
timer
iocheck
;
<<<<<<<
HEAD
double
check_sec
=
{
0
.
3
};
=======
double
check_sec
=
{
0
.
05
};
int
maxMessagesProcessing
=
{
100
};
>>>>>>>
2
.
9
.
4
-
alt0
.
1
std
::
shared_ptr
<
DebugStream
>
mylog
;
...
...
@@ -265,27 +243,9 @@ namespace uniset
double
wsHeartbeatTime_sec
=
{
3
.
0
};
double
wsSendTime_sec
=
{
0
.
5
};
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
};
static
Poco
::
JSON
::
Object
::
Ptr
to_json
(
const
uniset
::
SensorMessage
*
sm
,
const
std
::
string
&
err
);
>>>>>>>
2
.
9
.
4
-
alt0
.
1
/*! класс реализует работу с websocket через eventloop
* Из-за того, что поступление логов может быть достаточно быстрым
...
...
@@ -318,13 +278,6 @@ namespace uniset
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
del
(
uniset
::
ObjectId
id
);
...
...
@@ -333,7 +286,6 @@ namespace uniset
void
sensorInfo
(
const
uniset
::
SensorMessage
*
sm
);
void
doCommand
(
const
std
::
shared_ptr
<
UInterface
>&
ui
);
static
Poco
::
JSON
::
Object
::
Ptr
to_short_json
(
sinfo
*
si
);
>>>>>>>
2
.
9
.
4
-
alt0
.
1
void
term
();
...
...
@@ -343,32 +295,21 @@ namespace uniset
void
setHearbeatTime
(
const
double
&
sec
);
void
setSendPeriod
(
const
double
&
sec
);
void
setMaxSendCount
(
size_t
val
);
<<<<<<<
HEAD
void
setRespondFormat
(
RespondFormat
f
);
=======
void
setMaxCmdCount
(
size_t
val
);
>>>>>>>
2
.
9
.
4
-
alt0
.
1
std
::
shared_ptr
<
DebugStream
>
mylog
;
protected
:
void
write
();
<<<<<<<
HEAD
void
sendError
(
sinfo
&
si
,
const
std
::
string
&
err
);
=======
void
sendResponse
(
sinfo
&
si
);
void
sendShortResponse
(
sinfo
&
si
);
>>>>>>>
2
.
9
.
4
-
alt0
.
1
void
onCommand
(
const
std
::
string
&
cmd
);
ev
::
timer
iosend
;
double
send_sec
=
{
0
.
5
};
size_t
maxsend
=
{
200
};
<<<<<<<
HEAD
=======
size_t
maxcmd
=
{
100
};
>>>>>>>
2
.
9
.
4
-
alt0
.
1
ev
::
timer
ioping
;
double
ping_sec
=
{
3
.
0
};
...
...
@@ -385,25 +326,16 @@ namespace uniset
std
::
atomic_bool
cancelled
=
{
false
};
std
::
unordered_map
<
uniset
::
ObjectId
,
sinfo
>
smap
;
<<<<<<<
HEAD
RespondFormat
fmt
=
{
RespondFormat
::
JSON
};
=======
std
::
queue
<
sinfo
>
qcmd
;
// очередь команд
>>>>>>>
2
.
9
.
4
-
alt0
.
1
Poco
::
Net
::
HTTPServerRequest
*
req
;
Poco
::
Net
::
HTTPServerResponse
*
resp
;
<<<<<<<
HEAD
// очередь данных на посылку..
std
::
queue
<
UTCPCore
::
Buffer
*>
wbuf
;
=======
// очередь json-на отправку
std
::
queue
<
Poco
::
JSON
::
Object
::
Ptr
>
jbuf
;
// очередь данных на посылку..
std
::
queue
<
uniset
::
UTCPCore
::
Buffer
*>
wbuf
;
>>>>>>>
2
.
9
.
4
-
alt0
.
1
size_t
maxsize
;
// рассчитывается сходя из max_send (см. конструктор)
};
...
...
uniset2.files
View file @
eceea3c3
...
...
@@ -297,8 +297,6 @@
./extensions/UniNetwork/uninet.cc
./extensions/UWebSocketGate/main.cc
./extensions/UWebSocketGate/Makefile.am
<<<<<<< HEAD
=======
./extensions/UWebSocketGate.old/main.cc
./extensions/UWebSocketGate.old/Makefile.am
./extensions/UWebSocketGate.old/UWebSocketGate.cc
...
...
@@ -307,7 +305,6 @@
./extensions/UWebSocketGate/tests/Makefile.am
./extensions/UWebSocketGate/tests/tests_with_sm.cc
./extensions/UWebSocketGate/tests/test_uwebsocketgate.cc
>>>>>>> 2.9.4-alt0.1
./extensions/UWebSocketGate/UWebSocketGate.cc
./extensions/UWebSocketGate/UWebSocketGate.h
./extensions/UWebSocketGate/UWebSocketGateSugar.h
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment