Commit b00713e8 authored by Pavel Vainerman's avatar Pavel Vainerman

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

с одним адресом..
parent a405f36f
......@@ -13,7 +13,7 @@
Name: libuniset2
Version: 2.2
Release: alt5
Release: alt6
Summary: UniSet - library for building distributed industrial control systems
......@@ -456,6 +456,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
# ..
%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
- (ModbusSlave): added support for multiple addresses for MBSlave
......
......@@ -23,6 +23,8 @@ class ModbusTCPServer:
ModbusTCPServer( ost::InetAddress& ia, int port = 502 );
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;
......
......@@ -26,6 +26,13 @@ ModbusTCPServer::~ModbusTCPServer()
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 )
{
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