X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnetvis.cpp;h=15b0cb51ecf4fcc86a80e42ba2d3324b887b9acf;hb=7c86fe7860ade14b0387dec7ab564e6a480224b5;hp=17f113a369a2ba7c879439b0577435077280f172;hpb=afeb198dfbe4929c8d95487bca64a84ec3b92148;p=netvis.git diff --git a/source/netvis.cpp b/source/netvis.cpp index 17f113a..15b0cb5 100644 --- a/source/netvis.cpp +++ b/source/netvis.cpp @@ -81,6 +81,7 @@ NetVis::NetVis(int argc, char **argv): NetVis::~NetVis() { + delete history; delete resolver; delete font; @@ -126,7 +127,7 @@ void NetVis::tick() i->second->tick(dt); min_activity = min(min_activity, i->second->get_activity()); } - float del_limit = pow(10, 6-0.1*(max_hosts-hosts.size()-disabled_hosts.size())); + float del_limit = pow(10, 6-0.1*static_cast(max_hosts-hosts.size()-disabled_hosts.size())); for(map::iterator i=disabled_hosts.begin(); i!=disabled_hosts.end();) { i->second->tick(dt); @@ -173,6 +174,19 @@ void NetVis::tick() } } + for(map::iterator i=ports.begin(); i!=ports.end();) + { + i->second->tick(dt); + + if(!i->second->is_registered() && i->second->get_activity()<0.1) + { + delete i->second; + ports.erase(i++); + } + else + ++i; + } + for(list::iterator i=packets.begin(); i!=packets.end();) { (*i)->tick(dt); @@ -227,10 +241,12 @@ void NetVis::render() GL::pop_matrix(); GL::push_matrix(); - GL::translate(-500, -360, 0); + GL::translate(-500, -348, 0); GL::scale_uniform(10); font->draw_string(format("%d hosts", hosts.size()+disabled_hosts.size())); GL::translate(0, -1.2, 0); + font->draw_string(format("%d ports", ports.size())); + GL::translate(0, -1.2, 0); font->draw_string(format("%.2f fps", fps)); GL::Texture::unbind(); GL::pop_matrix();