-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTODO
62 lines (46 loc) · 1.89 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Design work
===========
Stats
- follow the progress of various requests, might need a standardised way to
extract this information from a Proc
- check out google's windowed availability thing, and see how to fit it into
this framework for general requests & protocols
Execution
- implement p4p-rt-quic as described in P4P.Proc.Stream
- implement pure adapter from Proc to SProc, and a composition operator for it
Later
-----
Abstractions
- how to compose procs together, e.g. for a protocol with multiple subprotocols
- how to deal with storage, e.g. disk access
Technical debt
==============
- update crypto interface
Low-level features
==================
Stats
- SizedMessage typeclass
- general stats:
- messages & their size, between which neighbours, during which ticks
- add a command to request debug info
Execution
! make sure we hFlush output files after a crash, test this
- compress range of ticks when recording/replaying
- --imsg-resume and --omsg-resume -- when --ostate-w is set, instead of
writing the state only at the end, periodically write it out, and use
the resume files to store messages in case we crash during a period.
will probably need to implement crash-proof file-replace and file-append
- rere AuxO for Sim, so we can see what individual procs send/recv
High-level features
===================
- view network topology, either:
- explicit - nodes would have to tell this to us
- implicit - we determine this by messages passed between nodes
- view/trace the progress of a request as it propagates through the network:
- nodes should update us with this information, devise a generic framework
for doing this for different protocols
- animate this in a video or gif?
- large scale:
- set up a particular topology
- test whether nodes are able to self-organise within this topology
- test how resilient a topology is, under random faults and hostile attack