Skip to content

Latest commit

 

History

History
59 lines (47 loc) · 2.23 KB

TODO.md

File metadata and controls

59 lines (47 loc) · 2.23 KB

Overall

  • LAN discovery for bootstraping
  • Plain and encrypted channels (DH key exchange)
  • NAT Traveral: UPnP
  • Nodes should perform a handshake, where they confirm versions and capabilities, and then optionally upgrade to an encrypted channel using a DH key exchange
  • Node IDs should be public keys, and each node should maintain a keychain for signing messages

Maintenance Protocol

  • Non-overlapping calls
  • Use minimum/maximum period between calls

Chord class

  • bind random port when 0
  • fixPrecessor removal using pure notify
  • successor and predecessor up/down events
  • linear route generator using successor list
  • lg route generator using finger table and successor list
  • fix await in loop of fixSuccessor
  • handle IP address change

Bucket class

  • successor list replication
  • updates on replicas upon set event
  • partitioning upon fully joined event
  • double check partitioning bounds logic
  • use some type of data store for hash table contents

Misc

  • JSDoc
  • ESlint
  • comments
  • unit tests
  • documentation
  • RPC protocol review
  • define and use status codes
  • Remove get-port dependency in lib files
  • Remove IP dependency in lib files

Bugs

  • there might be a bug in the lookup server side procedure that throws invalid successor state error
  • Bug fix: incorrect FINGER_BASE initialization
  • Bug fix: partition before set and set before notify