#include "on_demand_os_client_grpc.hpp"


Public Types | |
| using | TransportFactoryType = shared_model::interface::AbstractTransportFactory< shared_model::interface::Proposal, iroha::protocol::Proposal > |
| using | TimepointType = std::chrono::system_clock::time_point |
| using | TimeoutType = std::chrono::milliseconds |
Public Types inherited from iroha::ordering::transport::OdOsNotification | |
| using | ProposalType = shared_model::interface::Proposal |
| using | BatchesSetType = std::unordered_set< std::shared_ptr< shared_model::interface::TransactionBatch >, BatchPointerHasher, shared_model::interface::BatchHashEquality > |
| using | TransactionBatchType = std::shared_ptr< shared_model::interface::TransactionBatch > |
| using | CollectionType = std::vector< TransactionBatchType > |
Public Member Functions | |
| OnDemandOsClientGrpc (std::shared_ptr< proto::OnDemandOrdering::StubInterface > stub, std::shared_ptr< network::AsyncGrpcClient< google::protobuf::Empty >> async_call, std::shared_ptr< TransportFactoryType > proposal_factory, std::function< TimepointType()> time_provider, std::chrono::milliseconds proposal_request_timeout, logger::LoggerPtr log) | |
| void | onBatches (CollectionType batches) override |
| boost::optional< std::shared_ptr< const ProposalType > > | onRequestProposal (consensus::Round round) override |
Public Member Functions inherited from iroha::ordering::transport::OdOsNotification | |
| virtual | ~OdOsNotification ()=default |
gRPC client for on demand ordering service
| using iroha::ordering::transport::OnDemandOsClientGrpc::TimeoutType = std::chrono::milliseconds |
| using iroha::ordering::transport::OnDemandOsClientGrpc::TimepointType = std::chrono::system_clock::time_point |
| using iroha::ordering::transport::OnDemandOsClientGrpc::TransportFactoryType = shared_model::interface::AbstractTransportFactory< shared_model::interface::Proposal, iroha::protocol::Proposal> |
| OnDemandOsClientGrpc::OnDemandOsClientGrpc | ( | std::shared_ptr< proto::OnDemandOrdering::StubInterface > | stub, |
| std::shared_ptr< network::AsyncGrpcClient< google::protobuf::Empty >> | async_call, | ||
| std::shared_ptr< TransportFactoryType > | proposal_factory, | ||
| std::function< TimepointType()> | time_provider, | ||
| std::chrono::milliseconds | proposal_request_timeout, | ||
| logger::LoggerPtr | log | ||
| ) |
Constructor is left public because testing required passing a mock stub interface
|
overridevirtual |
Callback on receiving transactions
| batches | - vector of passed transaction batches |
Implements iroha::ordering::transport::OdOsNotification.
|
overridevirtual |
Callback on request about proposal
| round | - number of collaboration round. Calculated as block_height + 1 |
Implements iroha::ordering::transport::OdOsNotification.