FreddieBrown/LukChain

Improve network connectivity stability

Closed this issue · 3 comments

Improve tolerance of network faults to workout if a stream is closed and to add stream timeouts. This could be acheived through exponential backoff.

Rust examples of checking the stream can be seen here

This issue may also involve #16

Jobs to do:

  • Identify when connections have been closed gracefully by other connections
  • Recover from ungraceful shutdown
  • Deal with hanging message sends (when it hangs, shutdown the connection and remove it)
  • Remove dead connections from ConnectionPool
  • When no connection in map, perform lookup
    • Create new enum for outbound_connections to use to start lookup communications

Done most of tasks, need to add new message to send to lookup server which will deal with strikes against members of connection pool which aren't connecting or are failing. Too many strikes and it will be removed from the table.