instrumentation script
select, plan and sample test data
testbed
- first only do a test run with 3 hardcoded nodes
- on success select random nodes, autogenerate testbed configuration and run tests
write a concurrent test program
Periodically sample own ID through a random botstrapping node for convergence
Refactor common accessor functions of internal and remote NodeState to a type class with 2 types
investigate possible infinite recursion in requestQueryId
Refactor function returning an
IO (Either String _)
to use MonadError instead
make sure only verified nodes are used as neighbours
Postpone as this security imporovement is not critical for simulations in a trustworthy environment.
make sure only verified nodes are used as neighbours
Idea: Replace boolean verification flag in CacheEntry
by type-level verification state tracking:
Cache entries now hold one of 2 different types, indicating whether an entry has been verified.
The add
and set
neighbour functions only accept the verified types.
Common operations on verified and unverified entries can then be put into a new type class.
Use only main domain name for NodeID generation
Postpone until a working simulation environment exists, allowing assignment of "real" domains.
For development purpose it'd still be good to allow for using localhost
and *.localhost
domains.
Periodically sample own ID through a random botstrapping node for convergence
Make unsuccessfully joined node join once it learns new nodes through incoming requests