hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
trivial_proto.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_SHARED_MODEL_TRIVIAL_PROTO_HPP
7 #define IROHA_SHARED_MODEL_TRIVIAL_PROTO_HPP
8 
10 
11 namespace shared_model {
12  namespace proto {
18  template <typename Iface, typename Proto>
19  class TrivialProto : public Iface {
20  public:
21  using TransportType = Proto;
22 
27  template <typename ProtoLoader>
28  explicit TrivialProto(ProtoLoader &&ref)
29  : proto_(std::forward<ProtoLoader>(ref)) {}
30 
31  const Proto &getTransport() const {
32  return *proto_;
33  }
34 
35  protected:
37  };
38 
39  } // namespace proto
40 } // namespace shared_model
41 
42 #endif // IROHA_SHARED_MODEL_TRIVIAL_PROTO_HPP
Definition: peer.hpp:48
const Proto & getTransport() const
Definition: trivial_proto.hpp:31
iroha::protocol::Signature TransportType
Definition: trivial_proto.hpp:21
Definition: trivial_proto.hpp:19
Definition: command_executor.hpp:12
detail::ReferenceHolder< Proto > proto_
Definition: trivial_proto.hpp:36
TrivialProto(ProtoLoader &&ref)
Definition: trivial_proto.hpp:28