neilconway / overlog-paxos
A clean implementation of the Paxos consensus protocol in Overlog, a language for distributed computing.
Clone this repository (size: 4.5 MB): HTTPS / SSH
$ hg clone http://bitbucket.org/neilconway/overlog-paxos/
| commit 16: | df8772219832 |
| parent 15: | fbb3c988dfa3 |
| branch: | default |
backwards compatibility stuff for bfs
6 months ago
Changed (Δ209 bytes):
raw changeset »
README (4 lines added, 1 lines removed)
src/olg/ident.olg (7 lines added, 0 lines removed)
| … | … | @@ -12,9 +12,12 @@ Leader election is implemented in: |
12 |
12 |
election.olg |
13 |
13 |
|
14 |
14 |
|
15 |
For backward-compatibility reasons, we define the relation paxos::parliament (which reflects |
|
16 |
our view membership) here: |
|
17 |
||
18 |
ident.olg |
|
15 |
19 |
|
16 |
20 |
The other files are supplementary, and used to conduct tests: |
17 |
21 |
|
18 |
ident.olg |
|
19 |
22 |
insertions.olg |
20 |
23 |
assertions.olg |
Up to file-list src/olg/ident.olg:
| … | … | @@ -4,6 +4,13 @@ define(member, keys(0), {String, Integer |
4 |
4 |
define(parliament, keys(0, 1), {String, String, Integer}); |
5 |
5 |
define(self, keys(0), {String}); |
6 |
6 |
|
7 |
||
8 |
watch(member, ae); |
|
9 |
define(id, keys(0), {String}); |
|
10 |
||
11 |
self(X) :- |
|
12 |
paxos_global::id(X); |
|
13 |
||
7 |
14 |
public |
8 |
15 |
parliament(Me, Other, Id) :- |
9 |
16 |
self(Me), |
