Commit b00713e8 authored by Pavel Vainerman's avatar Pavel Vainerman

(ModbusServer): добавил вспомонательную функцию для удобства работы

с одним адресом..
parent a405f36f
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
Name: libuniset2 Name: libuniset2
Version: 2.2 Version: 2.2
Release: alt5 Release: alt6
Summary: UniSet - library for building distributed industrial control systems Summary: UniSet - library for building distributed industrial control systems
...@@ -456,6 +456,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname ...@@ -456,6 +456,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
# .. # ..
%changelog %changelog
* Mon Oct 05 2015 Pavel Vainerman <pv@altlinux.ru> 2.2-alt6
- (ModbusServer): add helper function addr2vaddr()
* Fri Oct 02 2015 Pavel Vainerman <pv@altlinux.ru> 2.2-alt5 * Fri Oct 02 2015 Pavel Vainerman <pv@altlinux.ru> 2.2-alt5
- (ModbusSlave): added support for multiple addresses for MBSlave - (ModbusSlave): added support for multiple addresses for MBSlave
......
...@@ -23,6 +23,8 @@ class ModbusTCPServer: ...@@ -23,6 +23,8 @@ class ModbusTCPServer:
ModbusTCPServer( ost::InetAddress& ia, int port = 502 ); ModbusTCPServer( ost::InetAddress& ia, int port = 502 );
virtual ~ModbusTCPServer(); virtual ~ModbusTCPServer();
std::unordered_set<ModbusRTU::ModbusAddr> addr2vaddr( ModbusRTU::ModbusAddr& mbaddr );
/*! Однопоточная обработка (каждый запрос последовательно), с разрывом соединения в конце */ /*! Однопоточная обработка (каждый запрос последовательно), с разрывом соединения в конце */
virtual ModbusRTU::mbErrCode receive( const std::unordered_set<ModbusRTU::ModbusAddr>& vmbaddr, timeout_t msecTimeout ) override; virtual ModbusRTU::mbErrCode receive( const std::unordered_set<ModbusRTU::ModbusAddr>& vmbaddr, timeout_t msecTimeout ) override;
......
...@@ -26,6 +26,13 @@ ModbusTCPServer::~ModbusTCPServer() ...@@ -26,6 +26,13 @@ ModbusTCPServer::~ModbusTCPServer()
terminate(); terminate();
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
std::unordered_set<ModbusAddr> ModbusTCPServer::addr2vaddr(ModbusAddr& mbaddr)
{
std::unordered_set<ModbusRTU::ModbusAddr> v;
v.emplace(mbaddr);
return std::move(v);
}
// -------------------------------------------------------------------------
void ModbusTCPServer::setMaxSessions( unsigned int num ) void ModbusTCPServer::setMaxSessions( unsigned int num )
{ {
if( num < sessCount ) if( num < sessCount )
......
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