Commit Graph

714 Commits

Author SHA1 Message Date
Vladimir Komendantskiy 182c6e65f5 made the sharding step a function to reduce the size of inner_run 2018-03-28 14:51:58 +01:00
Vladimir Komendantskiy 264b72011c added example of intended use of Node and a draft of value encryption 2018-03-27 21:59:38 +01:00
Vladimir Komendantskiy cd98cd3bab added draft responses to Ready messages, started tree interpolation 2018-03-23 22:54:40 +00:00
Vladimir Komendantskiy 1cdec3c39b broadcast algorithm drafted up to tree interpolation 2018-03-22 22:47:44 +00:00
Vladimir Komendantskiy fc475004f0 lifted the static requirement for messages by using scoped threads 2018-03-20 16:32:19 +00:00
Vladimir Komendantskiy c38aad2c0a Refactored the comms from the consensus node module
I reduced the socket IO tasks to mere message forwarders. The algorithm
complexity lies in stage modules. Example: broadcast/mod.rs. Communication is
set up and modules are run from the node module.

There is a problem with this commit. std:🧵:spawn imposes a static
lifetime guarantee on type T in Message<T>.
2018-03-19 17:12:20 +00:00
Vladimir Komendantskiy 797f775008 solved the problem with receiver side of a comms channel located inside an OS thread 2018-03-17 00:36:32 +00:00
Vladimir Komendantskiy 4353b1bb3e added shared state of the broadcast stage to the main consensus node loop 2018-03-16 21:04:06 +00:00
Vladimir Komendantskiy 86e133d2b4 added a broadcast stage struct and drafted messaging between broadcast tasks 2018-03-16 18:12:14 +00:00
Vladimir Komendantskiy cb4c55a5c5 Task is refactored to provide a stream of messages 2018-03-15 23:43:58 +00:00
Vladimir Komendantskiy e8cde28f93 from_proto and into_proto methods now allow writing up the broadcast stage 2018-03-15 18:00:17 +00:00
Vladimir Komendantskiy c4069bcdd8 added .gitignore 2018-03-15 10:16:12 +00:00
Yurii Rashkovskii 8b652fd1c4
Problem: proto::message is checked into the repo
However, it is generated during build-time and therefor is
unnecessary to be kept around in the repository.

There are two potential solutions for this problem:

1. Don't generate it build-time and use a checked-in version
2. Don't check it in.

Solution: don't check it in

The reason why I picked this solution is because it is, generally
speaking, less error-prone as it prevents "I forgot to regenerate
files" type of situations.
2018-03-15 10:49:51 +07:00
Vladimir Komendantskiy 5301123872 initial commit: elements of profobuf interface 2018-03-15 00:03:21 +00:00