| 519 | } |
| 520 | |
| 521 | void PrintMainWindowText (std::stringstream& s) |
| 522 | { |
| 523 | s << "\n"; |
| 524 | s << "Status: "; |
| 525 | ShowNetworkStatus (s, i2p::context.GetStatus (), i2p::context.GetTesting(), i2p::context.GetError ()); |
| 526 | if (i2p::context.SupportsV6 ()) |
| 527 | { |
| 528 | s << " / "; |
| 529 | ShowNetworkStatus (s, i2p::context.GetStatusV6 (), i2p::context.GetTestingV6(), i2p::context.GetErrorV6 ()); |
| 530 | } |
| 531 | s << "; "; |
| 532 | s << "Success Rate: " << i2p::tunnel::tunnels.GetTunnelCreationSuccessRate() << "%\n"; |
| 533 | s << "Uptime: "; ShowUptime(s, i2p::context.GetUptime ()); |
| 534 | auto gracefulTimeLeft = Daemon.GetGracefulShutdownInterval (); |
| 535 | if (gracefulTimeLeft > 0) |
| 536 | { |
| 537 | s << "Graceful shutdown, time left: "; ShowUptime(s, gracefulTimeLeft); |
| 538 | } |
| 539 | else |
| 540 | s << "\n"; |
| 541 | s << "Inbound: " << i2p::transport::transports.GetInBandwidth() / 1024 << " KiB/s; "; |
| 542 | s << "Outbound: " << i2p::transport::transports.GetOutBandwidth() / 1024 << " KiB/s\n"; |
| 543 | s << "Received: "; ShowTransfered (s, i2p::transport::transports.GetTotalReceivedBytes()); |
| 544 | s << "Sent: "; ShowTransfered (s, i2p::transport::transports.GetTotalSentBytes()); |
| 545 | s << "\n"; |
| 546 | s << "Routers: " << i2p::data::netdb.GetNumRouters () << "; "; |
| 547 | s << "Floodfills: " << i2p::data::netdb.GetNumFloodfills () << "; "; |
| 548 | s << "LeaseSets: " << i2p::data::netdb.GetNumLeaseSets () << "\n"; |
| 549 | s << "Tunnels: "; |
| 550 | s << "In: " << i2p::tunnel::tunnels.CountInboundTunnels() << "; "; |
| 551 | s << "Out: " << i2p::tunnel::tunnels.CountOutboundTunnels() << "; "; |
| 552 | s << "Transit: " << i2p::tunnel::tunnels.CountTransitTunnels() << "\n"; |
| 553 | s << "\n"; |
| 554 | } |
| 555 | } |
| 556 | } |
no test coverage detected