monero-project / kovri

The Kovri I2P Router Project
Other
571 stars 114 forks source link

Util: report router status #1009

Closed coneiric closed 6 years ago

coneiric commented 6 years ago

Uses kovri-util to report current router status.

Resolves implementation TODO.


By submitting this pull-request, I confirm the following:

coneiric commented 6 years ago

This has already been resolved

Thanks for the link to the conversion function, I missed it when working on this patch. I'll use that method for enum-to-string conversion.

Still leaves getting the current status of the router. What is the difference between RouterState and NetStatus, are they interchangeable? If not, which should be reported by kovri-util control status?

I only saw the router's state being updated here (and the lines below). Cannot find where NetStatus is updated.

MoroccanMalinois commented 6 years ago

What is the difference between RouterState and NetStatus, are they interchangeable?

NetStatus is exclusively for I2PControl protocol. Kovri's implementation of I2PControl is almost complete.

But from the inside, Kovri implements only a subset of these possible state values, i.e. RouterState.

I2PControl is very simple, I think kovri-util control would work with java i2p :stuck_out_tongue:

If not, which should be reported by kovri-util control status

My idea initially was to print a mini status report, like a summary of multiple values (version, uptime, netstatus ...). It doesn't need to be the result of a single parameter (like control stats). Individual items can be queried with option -k, like:

kovri-util control -k i2p.router.net.status

Still leaves the question of what should be reported by i2p.router.status: is it just the string conversion of i2p.router.net.status or something else

coneiric commented 6 years ago

Awesome info @MoroccanMalinois, much appreciation.

Still leaves the question of what should be reported by i2p.router.status: is it just the string conversion of i2p.router.net.status or something else

Re: i2p.router.net.status, the only time I see the router's status being updated is linked in my previous comment. Even reporting that parameter's value gives incorrect results, i.e. on unfirewalled routers I'm getting Firewalled status after Testing status.

Apparently, @anonimal cannot reproduce this issue. Would you mind trying to reproduce @MoroccanMalinois? Just need to start the router (with this patch), and run kovri-util control status until the status changes from Testing.

anonimal commented 6 years ago

NOTICE: THIS PULL REQUEST HAS BEEN MOVED TO GitLab. Please reopen there if you wish to merge. See https://github.com/monero-project/kovri/issues/1013 for details.