Skip to content
This repository has been archived by the owner on Apr 17, 2019. It is now read-only.

BFT OS components #1703

Merged
merged 12 commits into from
Sep 4, 2018
Merged

BFT OS components #1703

merged 12 commits into from
Sep 4, 2018

Conversation

lebdron
Copy link
Contributor

@lebdron lebdron commented Aug 31, 2018

Description of the Change

Includes the following changes:

  • YAC refactoring with states instead of vote, commit, and reject
  • Transaction batch factory separated from transaction batch
  • BFT OS components: On-demand ordering service, client and server gRPC transport, connection manager, and ordering gate

Benefits

One step towards CFT and BFT

Possible Drawbacks

None

Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
* Communication manager

* Add peers to ctor

* Fix ctor deadlock

* Add missing link libraries

Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Copy link
Contributor

@kamilsa kamilsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please consider fixing small issues before merge

bool verify(RejectMessage msg) override;

bool verify(VoteMessage msg) override;
bool verify(std::vector<VoteMessage> msg) override;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not const ref?

@@ -18,6 +18,7 @@
#ifndef IROHA_NETWORK_IMPL_HPP
#define IROHA_NETWORK_IMPL_HPP

#include <consensus/yac/messages.hpp>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use ""

Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
@sorabot
Copy link

sorabot commented Sep 3, 2018

SonarQube analysis reported 8 issues

  1. MINOR interactive_common_cli.cpp#L43: Return value of function to_string() is not used. rule
  2. MINOR yac_gate_impl.hpp#L68: Unused private function: 'YacGateImpl::copySignatures' rule
  3. MINOR yac.hpp#L92: Unused private function: 'Yac::applyState' rule
  4. MINOR ordering_init.cpp#L59: The function 'initOrderingGate' is never used. rule
  5. MINOR on_demand_ordering_service_impl.hpp#L57: Unused private function: 'OnDemandOrderingServiceImpl::packNextProposals' rule
  6. MINOR on_demand_ordering_service_impl.hpp#L64: Unused private function: 'OnDemandOrderingServiceImpl::tryErase' rule
  7. MINOR ordering_gate_service_test.cpp#L49: Variable 'factory_' is assigned in constructor body. Consider performing initialization in initialization list. rule
  8. MINOR ordering_gate_service_test.cpp#L51: Variable 'pcs_' is assigned in constructor body. Consider performing initialization in initialization list. rule

@lebdron lebdron merged commit 6b05736 into dev Sep 4, 2018
@lebdron lebdron deleted the trunk/bft-os branch September 4, 2018 04:14
nickaleks pushed a commit that referenced this pull request Sep 10, 2018
* BFT OS trunk

* On demand OS transport (#1635)

* On demand OS connection manager (#1645)

* On-demand ordering gate and related fixes (#1675)

Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
bakhtin pushed a commit that referenced this pull request Nov 2, 2018
* BFT OS trunk

* On demand OS transport (#1635)

* On demand OS connection manager (#1645)

* On-demand ordering gate and related fixes (#1675)

Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants