Commit Graph

144 Commits

Author SHA1 Message Date
Andreas Fackler eec3102cbf Move node to examples, deduplicate code. 2018-05-05 17:54:29 +02:00
Andreas Fackler 7826987af1 added a Travis configuration file, fixed Clippy lints 2018-05-05 09:53:29 +02:00
Peter van Nostrand 817b2da962 Fixed merge conflict in readme. 2018-05-04 12:18:57 -04:00
Peter van Nostrand af2022cfd2 Added build instructions to readme. 2018-05-04 12:11:49 -04:00
Igor Barinov 0732e0bac8
Update README.md 2018-05-04 11:56:38 -04:00
Andreas Fackler e2cd4ca1b7 added (ignored) regression tests for some of the broadcast issues 2018-05-04 11:14:19 +02:00
Andreas Fackler 8bced81438 removed some unnecessary cloning
This also adds a few TODOs to the broadcast implementation: Some of
these issues need a regression test. (Oh, and a fix!)
2018-05-04 09:58:21 +02:00
Vladimir Komendantskiy cde3a879e5 modified Agreement::set_input to output a BVAL message 2018-05-03 10:13:41 +01:00
Vladimir Komendantskiy d64dec2bd1 added Agreement message type and protobuf boilerplate 2018-05-03 10:10:35 +01:00
Andreas Fackler babbd2f36a fixed broadcast failure with malicious value proposal 2018-05-03 11:07:37 +03:00
Andreas Fackler 0f3377c8e9 made broadcast handle its own echo and value messages 2018-05-03 08:47:31 +03:00
Vladimir Komendantskiy 13407c8774 Merge branch 'master' of github.com:poanetwork/hbbft 2018-05-02 15:47:54 +01:00
Vladimir Komendantskiy 98e3cf76a3 implementation of the last clause in Figure 4 2018-05-02 15:47:30 +01:00
Andreas Fackler 7096251b91 extended tests, make broadcast output only once 2018-05-02 16:34:54 +03:00
Vladimir Komendantskiy 7b04d5e084 created broadcast and agreement instances in Common Subset 2018-05-02 14:10:26 +01:00
Vladimir Komendantskiy 389855839f wrote CommonSubset::on_agreement_result and made related updates in agreement.rs 2018-05-02 11:57:28 +01:00
Vladimir Komendantskiy fbb69baa3c updated Common Subset with the new NodeUid type parameter 2018-05-02 08:15:47 +01:00
Vladimir Komendantskiy 579abbf415 merged changes in common_subset.rs into master 2018-05-01 20:21:13 +01:00
Vladimir Komendantskiy feb12ac5ed
Merge pull request #7 from poanetwork/afck-single-thread-test
test broadcast in a single thread
2018-05-01 18:42:19 +01:00
Vladimir Komendantskiy a792a209b5 Common Subset handler for input messages 2018-05-01 18:12:05 +01:00
Andreas Fackler f710806b17 test broadcast in a single thread 2018-05-01 19:38:11 +03:00
Vladimir Komendantskiy bb765cbb06 propose_value function in Broadcast 2018-05-01 15:28:31 +01:00
Vladimir Komendantskiy 2daaf7baf2 rewrote part of Common Subset to call Broadcast via a callback handler 2018-05-01 15:09:08 +01:00
Andreas Fackler d7882bae9c added Broadcast::handle_broadcast_message 2018-05-01 17:01:29 +03:00
Andreas Fackler 6117e11a9e applied rustfmt 2018-04-30 18:55:51 +03:00
Andreas Fackler f399ed2c07 fixed Clippy lint warnings 2018-04-30 18:50:24 +03:00
Vladimir Komendantskiy 1fadff0e30 added the broadcast trigger message in the broadcast test 2018-04-27 13:31:50 +01:00
Vladimir Komendantskiy 329adc3c2b ported sharding and sending out Merkle tree proofs 2018-04-27 13:19:39 +01:00
Vladimir Komendantskiy 3ae0984733 fixed a potential RwLock panic in the Common Subset handler 2018-04-26 18:49:57 +01:00
Vladimir Komendantskiy eef846550f added the ACS algorithm with one clause not ready yet 2018-04-26 14:22:18 +01:00
Vladimir Komendantskiy 17678da06d separated the handler of remote broadcast messages into a fn for slightly better readability 2018-04-25 21:26:10 +01:00
Vladimir Komendantskiy db06e75d4e broadcast READY message handler ported from the older version 2018-04-25 21:00:22 +01:00
Vladimir Komendantskiy 8cd1f4748d broadcast ECHO message handler and mutable access solution for writeable state of broadcast 2018-04-25 20:41:46 +01:00
Vladimir Komendantskiy c7020e7b6a broadcast VALUE remote message handler written 2018-04-25 14:07:16 +01:00
Vladimir Komendantskiy 5428d928cc added receiver threads for remote nodes in the broadcast test 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy 93617f797d removed unnecessary mutability requirements 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy 08ff34c2a7 removed the algo error type, replacing it with type constraints and drafted adding handlers to a test node 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy 92d8c0d71a fold was not using the variable capturing the sequential data; I fixed that 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy 36cb880186 introduced a message handler trait and corrected the type of message handler container 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy 629c54494c added send_remote for sending a queue of messages to remote nodes through channels 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy b5e47d9a4f wrote essentials of the message loop and updated the message queue with required handles 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy 875f3cecbe updated the message loop state adding messages queued for sending to remote nodes 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy f801f0c1b0 test prototype of a message loop implementation 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy 7b82228b57 basic types for message passing between algorithms 2018-04-25 10:59:46 +01:00
Vladimir Komendantskiy 27e5ee679e Internal messaging was being stopped before broadcast threads finished. Corrected that. 2018-04-20 09:42:15 +01:00
Vladimir Komendantskiy 7997e6e674 added a compile-time check for protoc in PATH 2018-04-18 21:23:39 +01:00
Vladimir Komendantskiy b1cc8aee15 removed unused test module and refactored handling of Result using combinators 2018-04-16 15:17:36 +01:00
Vladimir Komendantskiy cdd86cbd6a added error handling in the local messaging task, so that channel errors don't cause a panic 2018-04-16 14:03:32 +01:00
Andreas Fackler 0494b4925d fixed value encoding, shortened debug messages
This adds a length byte to the values before padding with 0, so that we
can omit the padding at the end again. Shards are not converted to the
type parameter `T` anymore, because they are not necessarily valid
representations of a `T` value, e.g. valid UTF-8, as in the tests.

It also shortens some debug messages by printing byte arrays as
hexadecimal, and eliding some bytes.
2018-04-14 12:27:17 +02:00
Andreas Fackler fc3e502c5a fixed test build 2018-04-14 10:40:06 +02:00