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
Vladimir Komendantskiy
13081f75ee
simple update in TestNode::run allowing to change the number of nodes in the pool
2018-04-13 18:49:49 +01:00
Vladimir Komendantskiy
d9bc81fe5f
integration test of broadcast mostly ready; there is a thread termination issue however
2018-04-13 18:28:41 +01:00