Skip to content
This repository has been archived by the owner on Nov 12, 2017. It is now read-only.

Latest commit

 

History

History
322 lines (321 loc) · 15.2 KB

TODO.org

File metadata and controls

322 lines (321 loc) · 15.2 KB

Wire Client

Better logging

I think only the store is properly logged. The network bits should be as well.

Store event interface

Store should export some sort of event interface. We need this both for the status plugin and for the node adapter.

Implement Simple.close

Store statistics

  • [X] Event-handler
  • [X] Server

Monkey

Status web interface

  • [X] Show log of events
  • [X] Count sets/gets
  • [X] Graph sets/gets

UDP Connections

Nodes should have a set of “neighbor” nodes which they propagate updates to, and request updates from.
  • [X] Version Clock held by the store
  • [X] Check that vector-clock has the right semantics
  • [X] Key history “from VC to VC”
  • [X] Node update messages should include a version clock and a multi-set
  • [X] Get rid of the Ltc.Adapter hierarchy
  • [X] SmallCheck tests for NodeProtocol
  • [X] Receive store changes from neighbours
  • [X] Store changes instead of values.
  • [X] Apply changes from neighbours
  • [X] Keep track of suspected neighbour version clock
  • [ ] ChangeSets (replaces DiffPacks)
  • [X] Propagate store changes to neighbours
  • [ ] Configurable update frequency

Abstract network interface

  • [X] Abstract location (host/port)
  • [X] Abstract serve/send/receive
  • [X] Use abstract interface
  • [X] Null interface

Report outline

  • [X] General outline
  • [X] Assessment outline

Pick a nice palette

ColourLovers to the rescue!

http://www.colourlovers.com/palette/1930/cheer_up_emo_kid

Get rid of GADTs

Stringly typed Redis interface

Draw DB tip

  • [X] Keys tip
  • [X] Values tip
  • [ ] Send all keys initially

Components configuration

Some way to chose what parts of LTc to start.

Prettify events graph

http://code.shutterstock.com/rickshaw/tutorial/introduction.html

SQL Store Backend

It’s going to be SQLite, but it should work on any SQL database.

Custom Type Test

Configurable monkey

Expose monkey config in web interface

  • [X] Expose config in status interface
  • [ ] Expose config in status UI

Set/get in web UI

Multi-entry changes

  • [X] mset
  • [X] mget

Better merging

Recoverable store state

  • [X] Was store closed cleanly?

Artificial delay network interface

  • [X] Configurable stub
  • [X] Artificial delays

dBay

Test network interfaces

Expose net config in web interface

Temporal logic formalization

Figure out what properties the whole thing should have, and what properties the individual components should have to be able to prove the bigger thing.

Check documentation

SQLite backend

Final Report

Presentation

Code improvements