Commit Graph

136 Commits

Author SHA1 Message Date
Steve Dee
9e2f12fb80 Leader election appears to work 2014-03-06 08:59:20 -08:00
Steve Dee
2e0f7df85c Duplex connections 2014-03-06 08:59:20 -08:00
Steve Dee
66fedab1fe Raft message sending working 2014-03-06 08:59:20 -08:00
Steve Dee
1ea754ef88 Some TODOs 2014-03-06 08:59:20 -08:00
Steve Dee
008558a1f7 WIP hand-rolled parsing, read side 2014-03-06 08:59:20 -08:00
Steve Dee
85c3cf4f5e Use uv_ip4_addr 2014-03-06 08:59:20 -08:00
Steve Dee
cc096a99af Comment log lines 2014-03-06 08:59:20 -08:00
Steve Dee
f17f0add72 More sanity checking and cleanup 2014-03-06 08:59:20 -08:00
Steve Dee
af91e4a2c1 WIP more work 2014-03-06 08:59:20 -08:00
Steve Dee
d045f31f23 Rejigger the event loop again 2014-03-06 08:59:20 -08:00
Steve Dee
3f7e6d5e94 More work 2014-03-06 08:59:20 -08:00
Steve Dee
abc5d4fb0d More work 2014-03-06 08:59:19 -08:00
Steve Dee
5507162089 Comments 2014-03-06 08:59:19 -08:00
Steve Dee
424af0354d WIP Raft network base 2014-03-06 08:59:19 -08:00
Gavin Whelan
c85fd1fe35 Fixed Linux specific bug causing lack of stack overflow traces. 2014-03-04 14:48:59 -08:00
C. Guy Yarvin
3b98f316a0 Various fixes and improvements. 2014-03-04 11:17:34 -08:00
C. Guy Yarvin
dd4a42b345 Some HTTP client fixes. 2014-03-03 11:51:35 -08:00
C. Guy Yarvin
3400b6bacb Working HTTP client. 2014-03-02 14:31:03 -08:00
C. Guy Yarvin
16dd948e7d Attempted fix to an intermittent sync event bug. 2014-02-27 10:33:20 -08:00
C. Guy Yarvin
a7055224fa Various HTTP client fixes. 2014-02-26 17:58:40 -08:00
C. Guy Yarvin
af81e7c7b4 Trivial test cahnge. 2014-02-26 16:42:43 -08:00
C. Guy Yarvin
54ed2bdcb0 More C files. 2014-02-26 16:40:53 -08:00
C. Guy Yarvin
cc255a4c49 New cttp file. 2014-02-26 16:39:48 -08:00
Steve Dee
edc28b9ba7 Get new event loop working with checkpoints
Modifying u2_reck is a bad idea in the face of checkpoints. Just stick
everything on roe. This actually cleans up the logic a bit -- we can
execute non-core-modifying actions immediately, rather than on the next
tick.
2014-02-25 12:18:18 -08:00
Steve Dee
d7e4c46150 Revert "Revert "Merge remote-tracking branch 'urbit/master' into master""
This reverts commit dc6f72fa0a8ff2097b1e9c900ebec444c0d4c24f.
2014-02-25 12:18:07 -08:00
Steve Dee
de5048e895 Revert "Merge remote-tracking branch 'urbit/master' into master"
This reverts commit d52d2835b96f89e7ebbe5392c99f1483d165ee0b, reversing
changes made to 58838ea246e52c064719edc56e29b6a1ba713fdf.

Conflicts:
	Makefile
2014-02-24 11:27:57 -08:00
Steve Dee
9b992ae438 Merge remote-tracking branch 'urbit/master' into master
Conflicts:
	v/loop.c
2014-02-24 10:45:10 -08:00
Steve Dee
d83f057881 bail instead of exit from boot
Fixes terminal state not being reset on boot error. We pre-initialize
pig to prevent warnings since gcc doesn't understand that u2_lo_bail
exits.
2014-02-24 10:40:52 -08:00
Steve Dee
284811c92b Assert single-instance mode on push 2014-02-24 10:31:38 -08:00
Steve Dee
6143fe46b2 Back out log format version bump 2014-02-24 10:29:08 -08:00
Steve Dee
242e888c2c Get entry number from raft data structure directly 2014-02-24 10:17:26 -08:00
Steve Dee
575f28cef0 Commit on next libuv cycle in single-instance mode 2014-02-19 13:57:17 -08:00
Steve Dee
2fc0ccf2d1 Fix event playback 2014-02-19 11:51:44 -08:00
Steve Dee
a957cd649e WIP cleanup and fixes 2014-02-18 16:48:46 -08:00
C. Guy Yarvin
4e42621b93 Add gc in restore. 2014-02-17 22:29:23 -08:00
Steve Dee
e0e37cc569 Splinter disk persistence and reck stuff back out 2014-02-17 18:21:24 -08:00
Steve Dee
704dfd6d85 Write term and log type, in preparation for raft 2014-02-17 17:56:42 -08:00
C. Guy Yarvin
6c22acbfa7 Some memory palliatives. 2014-02-14 17:35:22 -08:00
Steve Dee
6182bd7d14 New event loop working, super rough cut 2014-02-14 15:15:38 -08:00
Steve Dee
27b50018a4 More loop -> raft, add u2_raft_boot 2014-02-12 17:27:09 -08:00
Steve Dee
2d5f78e39a WIP Move lug_u to u2_raft 2014-02-12 11:50:24 -08:00
Steve Dee
5db81ccab7 Trivial fixups 2014-02-12 11:50:05 -08:00
Steven Dee
53735a8b33 Fixes to our hi/lojack logic
This doesn't actually fix the prompt-eating bug, but it sure looks like
it ought to, doesn't it?
2014-02-12 18:06:49 +00:00
Steve Dee
0ccaadd10b WIP raft single instance
Shove all our disk stuff crudely into raft.c.
2014-02-11 17:14:25 -08:00
Steve Dee
28fe4ec482 WIP rafty loop.c
_lo_save() sticks events on roe for processing in later calls to
_lo_work().
2014-02-11 13:13:30 -08:00
Steve Dee
580a7323f4 WIP Make _lo_work rafty
Carts are now batches of events waiting to be or just recently
persisted. _lo_work calls u2_reck_kick on the last batch of events,
removes every batch that's been through Raft, and then prepares the next
batch.

TODO make _lo_punk et al stick things on roe

TODO move disk persistence to raft.c

TODO raft_push: lo_open / mark / lo_shut
2014-02-11 12:57:41 -08:00
Steve Dee
d69aaf1491 Make u2_reck_plan push to roe 2014-02-10 16:07:22 -08:00
Steve Dee
85085f713e Move srand call, seed from pid 2014-02-10 16:07:22 -08:00
Steve Dee
5a16660af1 Skeleton for raft 2014-02-10 16:07:09 -08:00
Steve Dee
6df5fb3155 New-style raft options 2014-02-05 15:25:57 -08:00