CORDA-866 - backport event horizon + serialization fixes (#3489)

Implement removal of stale nodes from network - backport (#3128)
Implement removal of stale nodes from network

Add eventHorizon to network parameters structure. Add republishing of
node info on 1 day intervals - it is treated by network map as heartbeat from node indicating if it's alive or not. Add removal of old node infos on network map signing.

Add copy method to network parameters data class

Add JvmOverloads annotation to the constructor, because it's data class
exposed in API
make NetworkParameters serialization compatible (#3234)

Cope with API checker inlining annotations
This commit is contained in:
Katarzyna Streich
2018-07-03 14:38:48 +01:00
committed by Katelyn Baker
parent 881509ab0d
commit ba37b3ea57
14 changed files with 149 additions and 37 deletions

View File

@ -119,6 +119,9 @@ The current set of network parameters:
For each contract class there is a list of hashes of the approved CorDapp jar versions containing that contract.
Read more about *Zone constraints* here :doc:`api-contract-constraints`
:eventHorizon: Time after which nodes are considered to be unresponsive and removed from network map. Nodes republish their
``NodeInfo`` on a regular interval. Network map treats that as a heartbeat from the node.
More parameters will be added in future releases to regulate things like allowed port numbers, how long a node can be
offline before it is evicted from the zone, whether or not IPv6 connectivity is required for zone members, required
cryptographic algorithms and rollout schedules (e.g. for moving to post quantum cryptography), parameters related to

View File

@ -64,7 +64,7 @@ above. A sensible default for the missing value is provided for instantiation of
order, see the discussion below.
As before, instances of the class at version A will be able to deserialize serialized forms of example B as it
will simply treat them as if the property has been removed (as from its perspective, they will have been.)
will simply treat them as if the property has been removed (as from its perspective, they will have been).
Constructor Versioning
@ -144,7 +144,6 @@ be:
// The third alteration, and how it currently exists, property e added
data class Example3 (val a: Int, val b: Int, val c: Int, val d: Int, val: Int e) {
// NOTE: version number purposefully omitted from annotation for demonstration purposes
@DeprecatedConstructorForDeserialization(1)
constructor (a: Int, b: Int) : this(a, b, -1, -1, -1) // alt constructor 1
@DeprecatedConstructorForDeserialization(2)