lokinet/llarp/rpc
Jason Rhinelander c5e787b8cb Oxend error ping + unfunded tracking
Currently (from a recent PR) we aren't pinging oxend if not active, but
that behaviour ended up being quite wrong because lokinet needs to ping
even when decommissioned or deregistered (when decommissioned we need
the ping to get commissioned again, and if not registered we need the
ping to get past the "lokinet isn't pinging" nag screen to prepare a
registration).

This considerably revises the pinging behaviour:

- We ping oxend *unless* there is a specific error with our connections
  (i.e. we *should* be establishing peer connections but don't have any)
- If we do have such an error, we send a new oxend "error" ping to
  report the error to oxend and get oxend to hold off on sending uptime
  proofs.

Along the way this also changes how we handle the current node state:
instead of just tracking deregistered/decommissioned, we now track three
states:

- LooksRegistered -- which means the SN is known to the network (but not
  necessarily active or fully staked)
- LooksFunded -- which means it is known *and* is fully funded, but not
  necessarily active
- LooksDecommissioned -- which means it is known, funded, and not
  currently active (which implies decommissioned).

The funded (or more precisely, unfunded) state is now tracked in
rc_lookup_handler in a "greenlist" -- i.e. new SNs that are so new (i.e.
"green") that they aren't even fully staked or active yet.
2022-10-14 20:55:21 -03:00
..
endpoint_rpc.cpp Replace logging with oxen-logger 2022-07-15 22:17:59 -03:00
endpoint_rpc.hpp static endpoint auth codes 2022-04-20 15:26:39 -04:00
lokid_rpc_client.cpp Oxend error ping + unfunded tracking 2022-10-14 20:55:21 -03:00
lokid_rpc_client.hpp Clean up oxend service node list handling 2022-10-14 18:02:53 -03:00
rpc_server.cpp Merge pull request #1991 from jagerman/lokinet-vpn-cleanups 2022-10-06 16:09:56 -03:00
rpc_server.hpp omq rpc log subscription 2022-10-06 11:56:04 -03:00