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
60f3d9ac
Commit
60f3d9ac
authored
Jun 27, 2021
by
Pavel Vainerman
Committed by
Pavel Vainerman
Jun 30, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[unet-multicast]: update docs
parent
59a2d0c8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
12 deletions
+12
-12
UNetExchange.h
extensions/UNetUDP/UNetExchange.h
+11
-11
UNetTransport.h
extensions/UNetUDP/UNetTransport.h
+1
-1
No files found.
extensions/UNetUDP/UNetExchange.h
View file @
60f3d9ac
...
@@ -58,7 +58,7 @@ namespace uniset
...
@@ -58,7 +58,7 @@ namespace uniset
посылает в сеть UDP-пакеты содержащие данные считанные из локальной SM. Формат данных - это набор
посылает в сеть UDP-пакеты содержащие данные считанные из локальной SM. Формат данных - это набор
пар [id,value]. Другие узлы принимают их. Помимо этого данный процесс запускает
пар [id,value]. Другие узлы принимают их. Помимо этого данный процесс запускает
"получателей" по одному на каждый (другой) узел и ловит пакеты от них, сохраняя данные в SM.
"получателей" по одному на каждый (другой) узел и ловит пакеты от них, сохраняя данные в SM.
При этом "получатели" работают на одном
(!) потоке с использованием событий libev (см. UNetReceiver).
При этом "получатели" работают на одном
потоке с использованием libev (см. UNetReceiver)
или каждый на своём потоке. Это определяется параметром \b unet_update_strategy.
или каждый на своём потоке. Это определяется параметром \b unet_update_strategy.
В текущей версии поддерживается два протокола для обмена broadcast udp и multicast. Какой использовать протокол
В текущей версии поддерживается два протокола для обмена broadcast udp и multicast. Какой использовать протокол
...
@@ -72,7 +72,7 @@ namespace uniset
...
@@ -72,7 +72,7 @@ namespace uniset
\par
\par
При своём старте процесс считывает из секции \<nodes> список узлов которые необходимо "слушать",
При своём старте процесс считывает из секции \<nodes> список узлов которые необходимо "слушать",
а также параметры своего узла. Открывает по потоку приёма на каждый узел и поток
а также параметры своего узла. Открывает по потоку приёма на каждый узел и поток
передачи д
ля своих данных
. Помимо этого такие же потоки для резервных каналов, если они включены
передачи д
анных от своего узла
. Помимо этого такие же потоки для резервных каналов, если они включены
(см. \ref pgUNetUDP_Reserv ).
(см. \ref pgUNetUDP_Reserv ).
\section pgUNetUDP_Conf Пример конфигурирования (UDP)
\section pgUNetUDP_Conf Пример конфигурирования (UDP)
...
@@ -94,8 +94,8 @@ namespace uniset
...
@@ -94,8 +94,8 @@ namespace uniset
* \b unet_update_strategy - задаёт стратегию обновления данных в SM.
* \b unet_update_strategy - задаёт стратегию обновления данных в SM.
Поддерживается два варианта:
Поддерживается два варианта:
- 'thread' - отдельный поток
обновления
- 'thread' - отдельный поток
приёма обновлений для каждого узла
- 'evloop' - использование общего
с приёмом
event loop (libev)
- 'evloop' - использование общего
потока c
event loop (libev)
\note Имеется возможность задавать отдельную настроечную секцию для "списка узлов" при помощи параметра
\note Имеется возможность задавать отдельную настроечную секцию для "списка узлов" при помощи параметра
--prefix-nodes-confnode name. По умолчанию настройка ведётся по секции <nodes>
--prefix-nodes-confnode name. По умолчанию настройка ведётся по секции <nodes>
...
@@ -119,15 +119,15 @@ namespace uniset
...
@@ -119,15 +119,15 @@ namespace uniset
Можно задавать текстовое название интерфейса unet_multicast_sender_ip="eth0", при этом
Можно задавать текстовое название интерфейса unet_multicast_sender_ip="eth0", при этом
в качестве ip будет взят \b первый ip-адрес из привязанных к указанному интерфейсу.
в качестве ip будет взят \b первый ip-адрес из привязанных к указанному интерфейсу.
В данной реализации поддерживается работа в два канала. Соответствующие настройки для второго канала имеют индекс "2"
.
В данной реализации поддерживается работа в два канала. Соответствующие настройки для второго канала имеют индекс "2"
:
unet_multicast_ip2, unet_multicast_port2,
unet_multicast_iface2
\a unet_multicast_ip2, \a unet_multicast_port2, \a
unet_multicast_iface2
Чтобы отключить запуск "sender", можно указать \b nosender="1" в \b <item> конкретного узла
Чтобы отключить запуск "sender", можно указать \b nosender="1" в \b <item> конкретного узла
или непосредственно в настройках \b <UNetExchange nosender="1"...>
или непосредственно в настройках \b <UNetExchange nosender="1"...>
\code
\code
<nodes port="2809" unet_broadcast_ip="192.168.56.255">
<nodes port="2809" unet_broadcast_ip="192.168.56.255">
<item ip="127.0.0.1" name="LocalhostNode" textname="Локальный узел" unet_ignore="1
0
">
<item ip="127.0.0.1" name="LocalhostNode" textname="Локальный узел" unet_ignore="1">
<iocards>
<iocards>
...
...
</iocards>
</iocards>
...
@@ -145,7 +145,7 @@ namespace uniset
...
@@ -145,7 +145,7 @@ namespace uniset
unet_multicast_sender_ip="192.168.1.2"
unet_multicast_sender_ip="192.168.1.2"
unet_multicast_port2="3032"
unet_multicast_port2="3032"
unet_multicast_ip2="225.0.0.2"
unet_multicast_ip2="225.0.0.2"
unet_multicast_sender_ip2="
192.168.2.2
">
unet_multicast_sender_ip2="
eth0
">
...
...
</item>
</item>
</nodes>
</nodes>
...
@@ -154,8 +154,8 @@ namespace uniset
...
@@ -154,8 +154,8 @@ namespace uniset
\section pgUNetUDP_Reserv Настройка резервного канала связи
\section pgUNetUDP_Reserv Настройка резервного канала связи
В текущей реализации поддерживается возможность обмена по двум подсетям (Ethernet-каналам).
В текущей реализации поддерживается возможность обмена по двум подсетям (Ethernet-каналам).
Она основана на том, что, для каждого узла помимо основного "читателя",
Она основана на том, что, для каждого узла помимо основного "читателя",
создаётся дополнительный "читатель"
(поток)
слушающий другой ip-адрес и порт.
создаётся дополнительный "читатель" слушающий другой ip-адрес и порт.
А так же, для локального узла создаётся дополнительный "писатель"
(поток)
,
А так же, для локального узла создаётся дополнительный "писатель",
который посылает данные в (указанную) вторую подсеть. Для того, чтобы задействовать
который посылает данные в (указанную) вторую подсеть. Для того, чтобы задействовать
второй канал, достаточно объявить в настройках переменные
второй канал, достаточно объявить в настройках переменные
\b unet_broadcast_ip2. А также в случае необходимости для конкретного узла
\b unet_broadcast_ip2. А также в случае необходимости для конкретного узла
...
@@ -176,7 +176,7 @@ namespace uniset
...
@@ -176,7 +176,7 @@ namespace uniset
В свою очередь "писатели"(если они не отключены) всегда посылают данные в оба канала.
В свою очередь "писатели"(если они не отключены) всегда посылают данные в оба канала.
\section pgUNetUDP_SendFactor Регулирование частоты посылки
\section pgUNetUDP_SendFactor Регулирование частоты посылки
В текущей реализации поддерживается механизм, позволяющий
регулировать частоту посылки данных
Данный механизм, позволяет
регулировать частоту посылки данных
для каждого датчика. Суть механизма заключается в том, что для каждого датчика можно задать свойство
для каждого датчика. Суть механизма заключается в том, что для каждого датчика можно задать свойство
- \b prefix_sendfactor="N" Где N>1 - задаёт "делитель" относительно \b sendpause определяющий с какой частотой
- \b prefix_sendfactor="N" Где N>1 - задаёт "делитель" относительно \b sendpause определяющий с какой частотой
информация о данном датчике будет посылаться. Например N=2 - каждый второй цикл, N=3 - каждый третий и т.п.
информация о данном датчике будет посылаться. Например N=2 - каждый второй цикл, N=3 - каждый третий и т.п.
...
...
extensions/UNetUDP/UNetTransport.h
View file @
60f3d9ac
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
namespace
uniset
namespace
uniset
{
{
// Интерфейс для
работы
получения данных по сети
// Интерфейс для получения данных по сети
class
UNetReceiveTransport
class
UNetReceiveTransport
{
{
public
:
public
:
...
...
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