6 #ifndef IROHA_SHARED_MODEL_PROTO_PEER_HPP 7 #define IROHA_SHARED_MODEL_PROTO_PEER_HPP 15 #include "primitive.pb.h" 22 template <
typename PeerType>
23 explicit Peer(PeerType &&peer) : proto_(
std::forward<PeerType>(peer)) {
24 if (proto_->certificate_case()) {
25 tls_certificate_ = proto_->tls_certificate();
34 return proto_->address();
37 const std::optional<interface::types::TLSCertificateType>
39 return tls_certificate_;
42 const std::string &
pubkey()
const override {
43 return proto_->peer_key();
48 std::optional<std::string> tls_certificate_;
52 #endif // IROHA_SHARED_MODEL_PROTO_PEER_HPP
std::string AddressType
Type of peer address.
Definition: types.hpp:50
Peer(Peer &&o) noexcept
Definition: peer.hpp:31
const std::string & pubkey() const override
Definition: peer.hpp:42
const std::optional< interface::types::TLSCertificateType > & tlsCertificate() const override
Definition: peer.hpp:38
const interface::types::AddressType & address() const override
Definition: peer.hpp:33
Peer(const Peer &o)
Definition: peer.hpp:29
Peer(PeerType &&peer)
Definition: peer.hpp:23
Definition: command_executor.hpp:12