Skip to content

Implement join ring op #8

@iduartgomez

Description

@iduartgomez

Add and finalize the ring protocol related ops, including the following functionality:

  • complete net join op between 2 nodes with 0 hops (direct between gateway and connecting peer)
  • complete net join op after randomly traveling through the network to fetch more nodes to avoid local disconnected clusters
  • retry joining other gateway(s) upon initial failure
  • pruning dead connections (this is a responsibility of the connection manager now and we will propagate that dropping through the application somehow else)

Include tests and pass them all:

  • Happy path unit test state transitioning.
  • Broadcast state transition unit test.
  • Connect one node and a gateway unit test.
  • Connect several nodes in a network unit test.
  • Detect unavailability of any network gateways unit test. (I don't think this makes much sense to cover at the ring level either, more at the connection manager layer)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions