Commit Graph

223 Commits

Author SHA1 Message Date
Andreas Fackler 7ad37f9029
Merge pull request #36 from poanetwork/afck-rust-update
Update Rust, re-enable rustfmt.
2018-05-21 11:43:45 +02:00
Andreas Fackler 9a0622f3f2 Update Rust, re-enable rustfmt. 2018-05-21 11:26:42 +02:00
Vladimir Komendantskiy 4e00894853
Merge pull request #35 from poanetwork/add-error-chain-crate
Added error-chain error handling.
2018-05-21 08:25:37 +01:00
Peter van Nostrand 1930ea8b7d Fixed a typo commst.rs. 2018-05-20 19:52:18 -04:00
Peter van Nostrand 465f17d9a5 Bumped reed-solomon-erasure crate version, fixed Protobuf error in example. 2018-05-20 19:39:47 -04:00
Peter van Nostrand 19b982284b Added error-chain error handling. 2018-05-20 07:51:33 -04:00
Andreas Fackler d223668561
Merge pull request #34 from poanetwork/afck-agreement
Extend tests and fix CommonSubset.
2018-05-19 17:51:02 +02:00
Andreas Fackler ca65a014d6 Use an unambiguous name for proposer ID. 2018-05-19 17:17:02 +02:00
Andreas Fackler ab89dabde9 Add a few explaining comments. 2018-05-19 17:10:30 +02:00
Andreas Fackler b8a2463d1c Extend tests and fix CommonSubset.
Verify termination and more outputs.

`CommonSubset` now instantiates `Agreement` with the correct ID.
2018-05-19 15:56:49 +02:00
Andreas Fackler 8a406dd154
Merge pull request #33 from poanetwork/vk-testnetwork-commonsubset
ported Common Subset tests to TestNetwork
2018-05-19 10:45:23 +02:00
Vladimir Komendantskiy fced73459e upgraded the protobuf dependency to fix a compile error 2018-05-18 22:45:18 +01:00
Vladimir Komendantskiy 962a618ffd ported Common Subset tests to TestNetwork 2018-05-18 22:04:09 +01:00
Vladimir Komendantskiy e4843b496f
Merge pull request #32 from poanetwork/afck-no-protoc
Remove protoc dep, use new MerkleTree methods, fix Agreement.
2018-05-18 14:31:00 +01:00
Andreas Fackler d5f9c4d40d Fix Agreement and re-enable HoneyBadger test. 2018-05-17 17:38:45 +02:00
Andreas Fackler 50d007b954 Remove protoc dep, use new MerkleTree methods. 2018-05-17 16:50:47 +02:00
Vladimir Komendantskiy 01e89a7c48
Merge pull request #31 from poanetwork/afck-benchmark
Add a network simulation example.
2018-05-17 12:50:06 +01:00
Andreas Fackler 500ec81b2f Add a network simulation example. 2018-05-17 12:52:07 +02:00
Andreas Fackler 31ec37630f
Merge pull request #30 from poanetwork/vk-dist-algo-agreement
The BA module now defines a DistAlgorithm instance
2018-05-17 12:51:47 +02:00
Vladimir Komendantskiy a0627b2550 review comments taken 2018-05-17 11:36:09 +01:00
Vladimir Komendantskiy ca49f4041b fixed the outdated code in Agreement test 2018-05-17 11:27:31 +01:00
Vladimir Komendantskiy c8c8e1bb1f added a latch for the decided value in Agreement to remember the output value 2018-05-17 10:43:56 +01:00
Vladimir Komendantskiy 0c386276b1 defined a DistAlgorithm instance of Agreement 2018-05-16 22:50:23 +01:00
Vladimir Komendantskiy 4b0eebf299
Merge pull request #28 from poanetwork/afck-testnet
Generalize TestNetwork and test HoneyBadger.
2018-05-16 15:57:19 +01:00
Andreas Fackler 4164af1702 Generalize TestNetwork and test HoneyBadger. 2018-05-16 16:21:30 +02:00
Andreas Fackler f390b4d141
Merge pull request #26 from poanetwork/vk-common-subset-test
Common Subset test and fixes
2018-05-16 12:48:33 +02:00
Vladimir Komendantskiy 21b898d8e0 dispatch targeted messages in the Common Subset message handling routine 2018-05-16 11:21:53 +01:00
Vladimir Komendantskiy 5f916c4d08 formatting and lint check 2018-05-15 22:25:41 +01:00
Vladimir Komendantskiy c8034da332 corrected the CommonSubset module and test to decide on a map of values insetead of a set 2018-05-15 18:18:05 +01:00
Vladimir Komendantskiy ff3e819a4f a better check for when bin_values becomes non-empty 2018-05-15 16:00:37 +01:00
Vladimir Komendantskiy 322373a5ae started using the set of sent agreement values 2018-05-15 15:47:54 +01:00
Vladimir Komendantskiy eadd233fe4 added the Common Subset test module 2018-05-15 15:44:47 +01:00
Vladimir Komendantskiy 2dfbc2c58d
Merge pull request #21 from poanetwork/afck-algo-trait
Define a common DistAlgorithm trait.
2018-05-15 15:43:19 +01:00
Andreas Fackler 66898aee30 In agreement, set sent_bval correctly. 2018-05-15 16:15:41 +02:00
Andreas Fackler b8c534da2b Rename has_output to decided, add output iterator. 2018-05-15 16:05:55 +02:00
Andreas Fackler 3895949cf6 Fix broadcast for size < 4, and test more network sizes. 2018-05-15 15:53:37 +02:00
Andreas Fackler 10d9aa73e3 Rename UnexpectedMessage error. 2018-05-15 15:48:43 +02:00
Andreas Fackler 5528fc2de8 Define a common DistAlgorithm trait.
This will allow us to deduplicate network simulations in tests for the
different algorithms. More generally, it facilitates writing general
tools and applying them to all distributed algorithms.
2018-05-15 15:48:43 +02:00
Vladimir Komendantskiy 93a6ce1bb4
Merge pull request #22 from poanetwork/afck-protobuf
Make protobuf support optional, add serde support.
2018-05-15 12:27:58 +01:00
Andreas Fackler b543b771a7 Rename util to fmt. 2018-05-15 08:31:13 +02:00
Andreas Fackler e2c66e9a0a Add optional serde support.
If the feature "serialization-serde" is specified, protocol messages
implement serde's `Serialize` and `Deserialize` traits.

Close #18
2018-05-14 18:32:59 +02:00
Andreas Fackler e8838f1491 Make protobuf support optional.
Protobuf support is now only built if the feature
"serialization-protobuf" is enabled.

Close #19
2018-05-14 17:29:04 +02:00
Andreas Fackler faab03d984
Merge pull request #16 from poanetwork/vk-test-agreement
Binary Agreement test module
2018-05-14 14:05:15 +02:00
Vladimir Komendantskiy c1a03c28d1 updated comment and fn name 2018-05-14 12:36:00 +01:00
Vladimir Komendantskiy 50ba18b0dd reduced the set of proposers to 1 2018-05-14 12:36:00 +01:00
Vladimir Komendantskiy 9043b1102f formatting 2018-05-14 12:35:28 +01:00
Vladimir Komendantskiy 8091b6cc1d corrected the test message handling loop termination condition 2018-05-14 12:35:28 +01:00
Vladimir Komendantskiy a20ee74254 added a test for Binary Agreement with 4 proposers 2018-05-14 12:35:28 +01:00
Vladimir Komendantskiy 3d977c8575
Merge pull request #15 from poanetwork/afck--honey-badger
Start implementing the top-level Honey Badger algorithm.
2018-05-14 12:20:32 +01:00
Andreas Fackler 71fa32c18f Remove interior mutability.
The `RwLock` is not needed anymore, since the broadcast implementation
doesn't handle any threading internally.
2018-05-14 09:35:34 +02:00