Commit d53b3c49 authored by Pavel Vainerman's avatar Pavel Vainerman

(unet): cleanup code

parent 67f75773
......@@ -314,7 +314,7 @@ void UNetReceiver::statisticsEvent(ev::periodic& tm, int revents) noexcept
return;
}
auto t_end = chrono::high_resolution_clock::now();
t_end = chrono::high_resolution_clock::now();
float sec = chrono::duration_cast<chrono::duration<float>>(t_end - t_stats).count();
t_stats = t_end;
stats.recvPerSec = recvCount / sec;
......@@ -796,9 +796,9 @@ void UNetReceiver::initIterators() noexcept
}
}
// -----------------------------------------------------------------------------
UNetReceiver::CacheInfo* UNetReceiver::getDCache( UniSetUDP::UDPMessage* pack ) noexcept
UNetReceiver::CacheInfo* UNetReceiver::getDCache( UniSetUDP::UDPMessage* upack ) noexcept
{
auto dID = pack->getDataID();
auto dID = upack->getDataID();
auto dit = d_icache_map.find(dID);
if( dit == d_icache_map.end() )
......@@ -809,22 +809,22 @@ UNetReceiver::CacheInfo* UNetReceiver::getDCache( UniSetUDP::UDPMessage* pack )
CacheInfo* d_info = &dit->second;
if( pack->header.dcount == d_info->items.size() )
if(upack->header.dcount == d_info->items.size() )
return &dit->second;
unetinfo << myname << ": init dcache[" << pack->header.dcount << "] for dataID=" << dID << endl;
unetinfo << myname << ": init dcache[" << upack->header.dcount << "] for dataID=" << dID << endl;
d_info->items.resize(pack->header.dcount);
d_info->items.resize(upack->header.dcount);
d_info->crc = 0;
cacheMissed++;
for( size_t i = 0; i < pack->header.dcount; i++ )
for(size_t i = 0; i < upack->header.dcount; i++ )
{
CacheItem& d = d_info->items[i];
if( d.id != pack->d_id[i] )
if(d.id != upack->d_id[i] )
{
d.id = pack->d_id[i];
d.id = upack->d_id[i];
shm->initIterator(d.ioit);
}
}
......@@ -832,9 +832,9 @@ UNetReceiver::CacheInfo* UNetReceiver::getDCache( UniSetUDP::UDPMessage* pack )
return d_info;
}
// -----------------------------------------------------------------------------
UNetReceiver::CacheInfo* UNetReceiver::getACache( UniSetUDP::UDPMessage* pack ) noexcept
UNetReceiver::CacheInfo* UNetReceiver::getACache( UniSetUDP::UDPMessage* upack ) noexcept
{
auto dID = pack->getDataID();
auto dID = upack->getDataID();
auto ait = a_icache_map.find(dID);
if( ait == a_icache_map.end() )
......@@ -845,22 +845,22 @@ UNetReceiver::CacheInfo* UNetReceiver::getACache( UniSetUDP::UDPMessage* pack )
CacheInfo* a_info = &ait->second;
if( pack->header.acount == a_info->items.size() )
if( upack->header.acount == a_info->items.size() )
return a_info;
unetinfo << myname << ": init acache[" << pack->header.acount << "] for dataID=" << dID << endl;
unetinfo << myname << ": init acache[" << upack->header.acount << "] for dataID=" << dID << endl;
a_info->items.resize(pack->header.acount);
a_info->items.resize(upack->header.acount);
a_info->crc = 0;
cacheMissed++;
for( size_t i = 0; i < pack->header.acount; i++ )
for( size_t i = 0; i < upack->header.acount; i++ )
{
CacheItem& d = a_info->items[i];
if( d.id != pack->a_dat[i].id )
if( d.id != upack->a_dat[i].id )
{
d.id = pack->a_dat[i].id;
d.id = upack->a_dat[i].id;
shm->initIterator(d.ioit);
}
}
......@@ -873,7 +873,7 @@ void UNetReceiver::connectEvent( UNetReceiver::EventSlot sl ) noexcept
slEvent = sl;
}
// -----------------------------------------------------------------------------
const std::string UNetReceiver::getShortInfo() const noexcept
std::string UNetReceiver::getShortInfo() const noexcept
{
// warning: будет вызываться из другого потока
// (считаем что чтение безопасно)
......
......@@ -99,7 +99,7 @@ namespace uniset
* выкинуто исключение при неудачной попытке создания соединения.
*/
// -----------------------------------------------------------------------------
class UNetReceiver:
class UNetReceiver final:
protected EvWatcher,
public std::enable_shared_from_this<UNetReceiver>
{
......@@ -112,7 +112,7 @@ namespace uniset
void start();
void stop();
inline const std::string getName() const
inline std::string getName() const noexcept
{
return myname;
}
......@@ -160,12 +160,12 @@ namespace uniset
void connectEvent( EventSlot sl ) noexcept;
// --------------------------------------------------------------------
inline std::shared_ptr<DebugStream> getLog()
inline std::shared_ptr<DebugStream> getLog() noexcept
{
return unetlog;
}
virtual const std::string getShortInfo() const noexcept;
std::string getShortInfo() const noexcept;
protected:
......@@ -180,7 +180,6 @@ namespace uniset
};
ReceiveRetCode receive() noexcept;
void step() noexcept;
void update() noexcept;
void callback( ev::io& watcher, int revents ) noexcept;
void readEvent( ev::io& watcher ) noexcept;
......@@ -202,7 +201,7 @@ namespace uniset
size_t rnext( size_t num );
private:
UNetReceiver();
UNetReceiver() {}
timeout_t updatepause = { 100 }; /*!< периодичность обновления данных в SM, [мсек] */
......@@ -304,7 +303,7 @@ namespace uniset
size_t cacheMissed; // количество промахов
bool ignoreCRC = { false }; /*!< отключение проверки crc */
CacheInfo* getDCache( UniSetUDP::UDPMessage* pack ) noexcept;
CacheInfo* getDCache( UniSetUDP::UDPMessage* upack ) noexcept;
CacheInfo* getACache( UniSetUDP::UDPMessage* pack ) noexcept;
};
// --------------------------------------------------------------------------
......
......@@ -168,7 +168,7 @@ namespace uniset
updateItem( it->second, value );
}
// -----------------------------------------------------------------------------
void UNetSender::updateItem( UItem& it, long value )
void UNetSender::updateItem( const UItem& it, long value )
{
auto& pk = mypacks[it.pack_sendfactor];
......@@ -181,7 +181,7 @@ namespace uniset
mypack.msg.setAData(it.pack_ind, value);
}
// -----------------------------------------------------------------------------
void UNetSender::setCheckConnectionPause( int msec )
void UNetSender::setCheckConnectionPause( int msec ) noexcept
{
if( msec > 0 )
ptCheckConnection.setTiming(msec);
......@@ -448,7 +448,6 @@ namespace uniset
<< UniSetUDP::MaxDCount << endl << flush;
std::terminate();
return false;
}
}
else if( p.iotype == UniversalIO::AI || p.iotype == UniversalIO::AO ) // -V560
......@@ -512,7 +511,7 @@ namespace uniset
return os << " sid=" << p.id;
}
// -----------------------------------------------------------------------------
void UNetSender::initIterators()
void UNetSender::initIterators() noexcept
{
for( auto&& it : items )
shm->initIterator(it.second.ioit);
......@@ -524,12 +523,12 @@ namespace uniset
shm->askSensor(it.second.id, cmd);
}
// -----------------------------------------------------------------------------
size_t UNetSender::getDataPackCount() const
size_t UNetSender::getDataPackCount() const noexcept
{
return mypacks.size();
}
// -----------------------------------------------------------------------------
const std::string UNetSender::getShortInfo() const
std::string UNetSender::getShortInfo() const noexcept
{
// warning: будет вызываться из другого потока
// (считаем что чтение безопасно)
......@@ -545,12 +544,12 @@ namespace uniset
<< "\t packs([sendfactor]=num): "
<< endl;
for( auto i = mypacks.begin(); i != mypacks.end(); ++i )
for( const auto& p : mypacks )
{
s << " \t[" << i->first << "]=" << i->second.size() << endl;
s << " \t[" << p.first << "]=" << p.second.size() << endl;
size_t n = 0;
for( const auto& pack : i->second )
for( const auto& pack : p.second )
{
//uniset_rwmutex_rlock l(p->mut);
s << " \t\t[" << (n++) << "]=" << sizeof(pack.msg) << " bytes"
......
......@@ -60,7 +60,7 @@ namespace uniset
* выкинуто исключение при неудачной попытке создания соединения.
* \warning setCheckConnectionPause(msec) должно быть кратно sendpause!
*/
class UNetSender
class UNetSender final
{
public:
UNetSender( std::unique_ptr<UNetSendTransport>&& transport, const std::shared_ptr<SMInterface>& smi
......@@ -72,7 +72,7 @@ namespace uniset
, size_t maxDCount = UniSetUDP::MaxDCount
, size_t maxACount = UniSetUDP::MaxACount );
virtual ~UNetSender();
~UNetSender();
typedef size_t sendfactor_t;
......@@ -99,7 +99,7 @@ namespace uniset
typedef std::unordered_map<uniset::ObjectId, UItem> UItemMap;
size_t getDataPackCount() const;
size_t getDataPackCount() const noexcept;
void start();
void stop();
......@@ -126,41 +126,41 @@ namespace uniset
void updateSensor( uniset::ObjectId id, long value );
/*! Обновить значение по итератору */
void updateItem( UItem& it, long value );
void updateItem( const UItem& it, long value );
inline void setSendPause( int msec )
inline void setSendPause( int msec ) noexcept
{
sendpause = msec;
}
inline void setPackSendPause( int msec )
inline void setPackSendPause( int msec ) noexcept
{
packsendpause = msec;
}
inline void setPackSendPauseFactor( int factor )
inline void setPackSendPauseFactor( int factor ) noexcept
{
packsendpauseFactor = factor;
}
void setCheckConnectionPause( int msec );
void setCheckConnectionPause( int msec ) noexcept;
/*! заказать датчики */
void askSensors( UniversalIO::UIOCommand cmd );
/*! инициализация итераторов */
void initIterators();
void initIterators() noexcept;
inline std::shared_ptr<DebugStream> getLog()
inline std::shared_ptr<DebugStream> getLog() noexcept
{
return unetlog;
}
virtual const std::string getShortInfo() const;
std::string getShortInfo() const noexcept;
inline size_t getADataSize() const
inline size_t getADataSize() const noexcept
{
return maxAData;
}
inline size_t getDDataSize() const
inline size_t getDDataSize() const noexcept
{
return maxDData;
}
......
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