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) {
|
||||
|
||||
/**
|
||||
* Active fully synchronized node
|
||||
*/
|
||||
OK(1),
|
||||
IMMATURE(2),
|
||||
SYNCING(3),
|
||||
LAGGING(4),
|
||||
/**
|
||||
* Good node, but is still synchronizing a latest block
|
||||
*/
|
||||
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);
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -6,10 +6,10 @@ class UpstreamAvailabilitySpec extends Specification {
|
||||
|
||||
def "Defined order"() {
|
||||
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.SYNCING.compareTo(UpstreamAvailability.LAGGING) < 0
|
||||
UpstreamAvailability.LAGGING.compareTo(UpstreamAvailability.UNAVAILABLE) < 0
|
||||
UpstreamAvailability.SYNCING.compareTo(UpstreamAvailability.UNAVAILABLE) < 0
|
||||
|
||||
UpstreamAvailability.OK.compareTo(UpstreamAvailability.UNAVAILABLE) < 0
|
||||
UpstreamAvailability.UNAVAILABLE.compareTo(UpstreamAvailability.OK) > 0
|
||||
|
||||
Reference in New Issue
Block a user