solution: better order of availability status
This commit is contained in:
@@ -2,10 +2,25 @@ package io.emeraldpay.dshackle.upstream
|
|||||||
|
|
||||||
enum class UpstreamAvailability(val grpcId: Int) {
|
enum class UpstreamAvailability(val grpcId: Int) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Active fully synchronized node
|
||||||
|
*/
|
||||||
OK(1),
|
OK(1),
|
||||||
IMMATURE(2),
|
/**
|
||||||
SYNCING(3),
|
* Good node, but is still synchronizing a latest block
|
||||||
LAGGING(4),
|
*/
|
||||||
|
LAGGING(2),
|
||||||
|
/**
|
||||||
|
* May be good, but node doesn't have enough peers to be sure it's on corrected chain
|
||||||
|
*/
|
||||||
|
IMMATURE(3),
|
||||||
|
/**
|
||||||
|
* Node is doing it's initial synchronization, is behind by at least several blocks
|
||||||
|
*/
|
||||||
|
SYNCING(4),
|
||||||
|
/**
|
||||||
|
* Unavailable node
|
||||||
|
*/
|
||||||
UNAVAILABLE(5);
|
UNAVAILABLE(5);
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ class UpstreamAvailabilitySpec extends Specification {
|
|||||||
|
|
||||||
def "Defined order"() {
|
def "Defined order"() {
|
||||||
expect:
|
expect:
|
||||||
UpstreamAvailability.OK.compareTo(UpstreamAvailability.IMMATURE) < 0
|
UpstreamAvailability.OK.compareTo(UpstreamAvailability.LAGGING) < 0
|
||||||
|
UpstreamAvailability.LAGGING.compareTo(UpstreamAvailability.IMMATURE) < 0
|
||||||
UpstreamAvailability.IMMATURE.compareTo(UpstreamAvailability.SYNCING) < 0
|
UpstreamAvailability.IMMATURE.compareTo(UpstreamAvailability.SYNCING) < 0
|
||||||
UpstreamAvailability.SYNCING.compareTo(UpstreamAvailability.LAGGING) < 0
|
UpstreamAvailability.SYNCING.compareTo(UpstreamAvailability.UNAVAILABLE) < 0
|
||||||
UpstreamAvailability.LAGGING.compareTo(UpstreamAvailability.UNAVAILABLE) < 0
|
|
||||||
|
|
||||||
UpstreamAvailability.OK.compareTo(UpstreamAvailability.UNAVAILABLE) < 0
|
UpstreamAvailability.OK.compareTo(UpstreamAvailability.UNAVAILABLE) < 0
|
||||||
UpstreamAvailability.UNAVAILABLE.compareTo(UpstreamAvailability.OK) > 0
|
UpstreamAvailability.UNAVAILABLE.compareTo(UpstreamAvailability.OK) > 0
|
||||||
|
|||||||
Reference in New Issue
Block a user