var GossipMessage_Tag_name = map[int32]string{ 0: "UNDEFINED", 1: "EMPTY", 2: "ORG_ONLY", 3: "CHAN_ONLY", 4: "CHAN_AND_ORG", 5: "CHAN_OR_ORG", }
var GossipMessage_Tag_value = map[string]int32{ "UNDEFINED": 0, "EMPTY": 1, "ORG_ONLY": 2, "CHAN_ONLY": 3, "CHAN_AND_ORG": 4, "CHAN_OR_ORG": 5, }
var PullMsgType_name = map[int32]string{ 0: "UNDEFINED", 1: "BLOCK_MSG", 2: "IDENTITY_MSG", }
var PullMsgType_value = map[string]int32{ "UNDEFINED": 0, "BLOCK_MSG": 1, "IDENTITY_MSG": 2, }
func NewGossipMessageComparator(dataBlockStorageSize int) common.MessageReplacingPolicy
NewGossipMessageComparator creates a MessageReplacingPolicy given a maximum number of blocks to hold
func RegisterGossipServer(s *grpc.Server, srv GossipServer)
type Acknowledgement struct {
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*Acknowledgement) Descriptor() ([]byte, []int)
func (m *Acknowledgement) GetError() string
func (*Acknowledgement) ProtoMessage()
func (m *Acknowledgement) Reset()
func (m *Acknowledgement) String() string
func (m *Acknowledgement) XXX_DiscardUnknown()
func (m *Acknowledgement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *Acknowledgement) XXX_Merge(src proto.Message)
func (m *Acknowledgement) XXX_Size() int
func (m *Acknowledgement) XXX_Unmarshal(b []byte) error
AliveMessage is sent to inform remote peers of a peer's existence and activity
type AliveMessage struct {
Membership *Member `protobuf:"bytes,1,opt,name=membership,proto3" json:"membership,omitempty"`
Timestamp *PeerTime `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Identity []byte `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*AliveMessage) Descriptor() ([]byte, []int)
func (m *AliveMessage) GetIdentity() []byte
func (m *AliveMessage) GetMembership() *Member
func (m *AliveMessage) GetTimestamp() *PeerTime
func (*AliveMessage) ProtoMessage()
func (m *AliveMessage) Reset()
func (m *AliveMessage) String() string
func (m *AliveMessage) XXX_DiscardUnknown()
func (m *AliveMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *AliveMessage) XXX_Merge(src proto.Message)
func (m *AliveMessage) XXX_Size() int
func (m *AliveMessage) XXX_Unmarshal(b []byte) error
AuthInfo represents the authentication data that was provided by the remote peer at the connection time
type AuthInfo struct {
SignedData []byte
Signature []byte
}
Chaincode represents a Chaincode that is installed on a peer
type Chaincode struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
Metadata []byte `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*Chaincode) Descriptor() ([]byte, []int)
func (m *Chaincode) GetMetadata() []byte
func (m *Chaincode) GetName() string
func (m *Chaincode) GetVersion() string
func (*Chaincode) ProtoMessage()
func (m *Chaincode) Reset()
func (m *Chaincode) String() string
func (m *Chaincode) XXX_DiscardUnknown()
func (m *Chaincode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *Chaincode) XXX_Merge(src proto.Message)
func (m *Chaincode) XXX_Size() int
func (m *Chaincode) XXX_Unmarshal(b []byte) error
ConnEstablish is the message used for the gossip handshake Whenever a peer connects to another peer, it handshakes with it by sending this message that proves its identity
type ConnEstablish struct {
PkiId []byte `protobuf:"bytes,1,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"`
Identity []byte `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"`
TlsCertHash []byte `protobuf:"bytes,3,opt,name=tls_cert_hash,json=tlsCertHash,proto3" json:"tls_cert_hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*ConnEstablish) Descriptor() ([]byte, []int)
func (m *ConnEstablish) GetIdentity() []byte
func (m *ConnEstablish) GetPkiId() []byte
func (m *ConnEstablish) GetTlsCertHash() []byte
func (*ConnEstablish) ProtoMessage()
func (m *ConnEstablish) Reset()
func (m *ConnEstablish) String() string
func (m *ConnEstablish) XXX_DiscardUnknown()
func (m *ConnEstablish) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *ConnEstablish) XXX_Merge(src proto.Message)
func (m *ConnEstablish) XXX_Size() int
func (m *ConnEstablish) XXX_Unmarshal(b []byte) error
ConnectionInfo represents information about the remote peer that sent a certain ReceivedMessage
type ConnectionInfo struct {
ID common.PKIidType
Auth *AuthInfo
Identity api.PeerIdentityType
Endpoint string
}
func (c *ConnectionInfo) String() string
String returns a string representation of this ConnectionInfo
DataDigest is the message sent from the receiver peer to the initator peer and contains the data items it has
type DataDigest struct {
Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
Digests [][]byte `protobuf:"bytes,2,rep,name=digests,proto3" json:"digests,omitempty"`
MsgType PullMsgType `protobuf:"varint,3,opt,name=msg_type,json=msgType,proto3,enum=gossip.PullMsgType" json:"msg_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*DataDigest) Descriptor() ([]byte, []int)
func (dd *DataDigest) FormattedDigests() []string
func (m *DataDigest) GetDigests() [][]byte
func (m *DataDigest) GetMsgType() PullMsgType
func (m *DataDigest) GetNonce() uint64
func (*DataDigest) ProtoMessage()
func (m *DataDigest) Reset()
func (m *DataDigest) String() string
func (m *DataDigest) XXX_DiscardUnknown()
func (m *DataDigest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *DataDigest) XXX_Merge(src proto.Message)
func (m *DataDigest) XXX_Size() int
func (m *DataDigest) XXX_Unmarshal(b []byte) error
DataMessage is the message that contains a block
type DataMessage struct {
Payload *Payload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*DataMessage) Descriptor() ([]byte, []int)
func (m *DataMessage) GetPayload() *Payload
func (*DataMessage) ProtoMessage()
func (m *DataMessage) Reset()
func (m *DataMessage) String() string
func (m *DataMessage) XXX_DiscardUnknown()
func (m *DataMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *DataMessage) XXX_Merge(src proto.Message)
func (m *DataMessage) XXX_Size() int
func (m *DataMessage) XXX_Unmarshal(b []byte) error
DataRequest is a message used for a peer to request certain data blocks from a remote peer
type DataRequest struct {
Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
Digests [][]byte `protobuf:"bytes,2,rep,name=digests,proto3" json:"digests,omitempty"`
MsgType PullMsgType `protobuf:"varint,3,opt,name=msg_type,json=msgType,proto3,enum=gossip.PullMsgType" json:"msg_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*DataRequest) Descriptor() ([]byte, []int)
func (dd *DataRequest) FormattedDigests() []string
func (m *DataRequest) GetDigests() [][]byte
func (m *DataRequest) GetMsgType() PullMsgType
func (m *DataRequest) GetNonce() uint64
func (*DataRequest) ProtoMessage()
func (m *DataRequest) Reset()
func (m *DataRequest) String() string
func (m *DataRequest) XXX_DiscardUnknown()
func (m *DataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *DataRequest) XXX_Merge(src proto.Message)
func (m *DataRequest) XXX_Size() int
func (m *DataRequest) XXX_Unmarshal(b []byte) error
DataUpdate is the final message in the pull phase sent from the receiver to the initiator
type DataUpdate struct {
Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
Data []*Envelope `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
MsgType PullMsgType `protobuf:"varint,3,opt,name=msg_type,json=msgType,proto3,enum=gossip.PullMsgType" json:"msg_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*DataUpdate) Descriptor() ([]byte, []int)
func (m *DataUpdate) GetData() []*Envelope
func (m *DataUpdate) GetMsgType() PullMsgType
func (m *DataUpdate) GetNonce() uint64
func (*DataUpdate) ProtoMessage()
func (m *DataUpdate) Reset()
func (m *DataUpdate) String() string
func (m *DataUpdate) XXX_DiscardUnknown()
func (m *DataUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *DataUpdate) XXX_Merge(src proto.Message)
func (m *DataUpdate) XXX_Size() int
func (m *DataUpdate) XXX_Unmarshal(b []byte) error
Empty is used for pinging and in tests
type Empty struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*Empty) Descriptor() ([]byte, []int)
func (*Empty) ProtoMessage()
func (m *Empty) Reset()
func (m *Empty) String() string
func (m *Empty) XXX_DiscardUnknown()
func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *Empty) XXX_Merge(src proto.Message)
func (m *Empty) XXX_Size() int
func (m *Empty) XXX_Unmarshal(b []byte) error
Envelope contains a marshalled GossipMessage and a signature over it. It may also contain a SecretEnvelope which is a marshalled Secret
type Envelope struct {
Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
SecretEnvelope *SecretEnvelope `protobuf:"bytes,3,opt,name=secret_envelope,json=secretEnvelope,proto3" json:"secret_envelope,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*Envelope) Descriptor() ([]byte, []int)
func (m *Envelope) GetPayload() []byte
func (m *Envelope) GetSecretEnvelope() *SecretEnvelope
func (m *Envelope) GetSignature() []byte
func (*Envelope) ProtoMessage()
func (m *Envelope) Reset()
func (e *Envelope) SignSecret(signer Signer, secret *Secret) error
SignSecret signs the secret payload and creates a secret envelope out of it.
func (m *Envelope) String() string
func (e *Envelope) ToGossipMessage() (*SignedGossipMessage, error)
ToGossipMessage un-marshals a given envelope and creates a SignedGossipMessage out of it. Returns an error if un-marshaling fails.
func (m *Envelope) XXX_DiscardUnknown()
func (m *Envelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *Envelope) XXX_Merge(src proto.Message)
func (m *Envelope) XXX_Size() int
func (m *Envelope) XXX_Unmarshal(b []byte) error
GossipClient is the client API for Gossip service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type GossipClient interface {
// GossipStream is the gRPC stream used for sending and receiving messages
GossipStream(ctx context.Context, opts ...grpc.CallOption) (Gossip_GossipStreamClient, error)
// Ping is used to probe a remote peer's aliveness
Ping(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
}
func NewGossipClient(cc *grpc.ClientConn) GossipClient
GossipHello is the message that is used for the peer to initiate a pull round with another peer
type GossipHello struct {
Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
Metadata []byte `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
MsgType PullMsgType `protobuf:"varint,3,opt,name=msg_type,json=msgType,proto3,enum=gossip.PullMsgType" json:"msg_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*GossipHello) Descriptor() ([]byte, []int)
func (m *GossipHello) GetMetadata() []byte
func (m *GossipHello) GetMsgType() PullMsgType
func (m *GossipHello) GetNonce() uint64
func (*GossipHello) ProtoMessage()
func (m *GossipHello) Reset()
func (m *GossipHello) String() string
func (m *GossipHello) XXX_DiscardUnknown()
func (m *GossipHello) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *GossipHello) XXX_Merge(src proto.Message)
func (m *GossipHello) XXX_Size() int
func (m *GossipHello) XXX_Unmarshal(b []byte) error
GossipMessage defines the message sent in a gossip network
type GossipMessage struct {
// used mainly for testing, but will might be used in the future
// for ensuring message delivery by acking
Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
// The channel of the message.
// Some GossipMessages may set this to nil, because
// they are cross-channels but some may not
Channel []byte `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"`
// determines to which peers it is allowed
// to forward the message
Tag GossipMessage_Tag `protobuf:"varint,3,opt,name=tag,proto3,enum=gossip.GossipMessage_Tag" json:"tag,omitempty"`
// Types that are valid to be assigned to Content:
// *GossipMessage_AliveMsg
// *GossipMessage_MemReq
// *GossipMessage_MemRes
// *GossipMessage_DataMsg
// *GossipMessage_Hello
// *GossipMessage_DataDig
// *GossipMessage_DataReq
// *GossipMessage_DataUpdate
// *GossipMessage_Empty
// *GossipMessage_Conn
// *GossipMessage_StateInfo
// *GossipMessage_StateSnapshot
// *GossipMessage_StateInfoPullReq
// *GossipMessage_StateRequest
// *GossipMessage_StateResponse
// *GossipMessage_LeadershipMsg
// *GossipMessage_PeerIdentity
// *GossipMessage_Ack
// *GossipMessage_PrivateReq
// *GossipMessage_PrivateRes
// *GossipMessage_PrivateData
Content isGossipMessage_Content `protobuf_oneof:"content"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*GossipMessage) Descriptor() ([]byte, []int)
func (m *GossipMessage) GetAck() *Acknowledgement
func (m *GossipMessage) GetAliveMsg() *AliveMessage
func (m *GossipMessage) GetChannel() []byte
func (m *GossipMessage) GetConn() *ConnEstablish
func (m *GossipMessage) GetContent() isGossipMessage_Content
func (m *GossipMessage) GetDataDig() *DataDigest
func (m *GossipMessage) GetDataMsg() *DataMessage
func (m *GossipMessage) GetDataReq() *DataRequest
func (m *GossipMessage) GetDataUpdate() *DataUpdate
func (m *GossipMessage) GetEmpty() *Empty
func (m *GossipMessage) GetHello() *GossipHello
func (m *GossipMessage) GetLeadershipMsg() *LeadershipMessage
func (m *GossipMessage) GetMemReq() *MembershipRequest
func (m *GossipMessage) GetMemRes() *MembershipResponse
func (m *GossipMessage) GetNonce() uint64
func (m *GossipMessage) GetPeerIdentity() *PeerIdentity
func (m *GossipMessage) GetPrivateData() *PrivateDataMessage
func (m *GossipMessage) GetPrivateReq() *RemotePvtDataRequest
func (m *GossipMessage) GetPrivateRes() *RemotePvtDataResponse
func (m *GossipMessage) GetPullMsgType() PullMsgType
GetPullMsgType returns the phase of the pull mechanism this GossipMessage belongs to for example: Hello, Digest, etc. If this isn't a pull message, PullMsgType_UNDEFINED is returned.
func (m *GossipMessage) GetStateInfo() *StateInfo
func (m *GossipMessage) GetStateInfoPullReq() *StateInfoPullRequest
func (m *GossipMessage) GetStateRequest() *RemoteStateRequest
func (m *GossipMessage) GetStateResponse() *RemoteStateResponse
func (m *GossipMessage) GetStateSnapshot() *StateInfoSnapshot
func (m *GossipMessage) GetTag() GossipMessage_Tag
func (m *GossipMessage) IsAck() bool
IsAck returns whether this GossipMessage is an acknowledgement
func (m *GossipMessage) IsAliveMsg() bool
IsAliveMsg returns whether this GossipMessage is an AliveMessage
func (m *GossipMessage) IsChannelRestricted() bool
IsChannelRestricted returns whether this GossipMessage should be routed only in its channel
func (m *GossipMessage) IsDataMsg() bool
IsDataMsg returns whether this GossipMessage is a data message
func (m *GossipMessage) IsDataReq() bool
IsDataReq returns whether this GossipMessage is a data request message
func (m *GossipMessage) IsDataUpdate() bool
IsDataUpdate returns whether this GossipMessage is a data update message
func (m *GossipMessage) IsDigestMsg() bool
IsDigestMsg returns whether this GossipMessage is a digest message
func (m *GossipMessage) IsHelloMsg() bool
IsHelloMsg returns whether this GossipMessage is a hello message
func (m *GossipMessage) IsIdentityMsg() bool
IsIdentityMsg returns whether this GossipMessage is an identity message
func (m *GossipMessage) IsLeadershipMsg() bool
IsLeadershipMsg returns whether this GossipMessage is a leadership (leader election) message
func (m *GossipMessage) IsOrgRestricted() bool
IsOrgRestricted returns whether this GossipMessage should be routed only inside the organization
func (m *GossipMessage) IsPrivateDataMsg() bool
IsPrivateDataMsg returns whether this message is related to private data
func (m *GossipMessage) IsPullMsg() bool
IsPullMsg returns whether this GossipMessage is a message that belongs to the pull mechanism
func (m *GossipMessage) IsRemoteStateMessage() bool
IsRemoteStateMessage returns whether this GossipMessage is related to state synchronization
func (m *GossipMessage) IsStateInfoMsg() bool
IsStateInfoMsg returns whether this GossipMessage is a stateInfo message
func (m *GossipMessage) IsStateInfoPullRequestMsg() bool
IsStateInfoPullRequestMsg returns whether this GossipMessage is a stateInfoPullRequest
func (m *GossipMessage) IsStateInfoSnapshot() bool
IsStateInfoSnapshot returns whether this GossipMessage is a stateInfo snapshot
func (m *GossipMessage) IsTagLegal() error
IsTagLegal checks the GossipMessage tags and inner type and returns an error if the tag doesn't match the type.
func (m *GossipMessage) NoopSign() (*SignedGossipMessage, error)
NoopSign creates a SignedGossipMessage with a nil signature
func (*GossipMessage) ProtoMessage()
func (m *GossipMessage) Reset()
func (m *GossipMessage) String() string
func (m *GossipMessage) XXX_DiscardUnknown()
func (m *GossipMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *GossipMessage) XXX_Merge(src proto.Message)
func (*GossipMessage) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
func (m *GossipMessage) XXX_Size() int
func (m *GossipMessage) XXX_Unmarshal(b []byte) error
type GossipMessage_Ack struct {
Ack *Acknowledgement `protobuf:"bytes,22,opt,name=ack,proto3,oneof"`
}
type GossipMessage_AliveMsg struct {
AliveMsg *AliveMessage `protobuf:"bytes,5,opt,name=alive_msg,json=aliveMsg,proto3,oneof"`
}
type GossipMessage_Conn struct {
Conn *ConnEstablish `protobuf:"bytes,14,opt,name=conn,proto3,oneof"`
}
type GossipMessage_DataDig struct {
DataDig *DataDigest `protobuf:"bytes,10,opt,name=data_dig,json=dataDig,proto3,oneof"`
}
type GossipMessage_DataMsg struct {
DataMsg *DataMessage `protobuf:"bytes,8,opt,name=data_msg,json=dataMsg,proto3,oneof"`
}
type GossipMessage_DataReq struct {
DataReq *DataRequest `protobuf:"bytes,11,opt,name=data_req,json=dataReq,proto3,oneof"`
}
type GossipMessage_DataUpdate struct {
DataUpdate *DataUpdate `protobuf:"bytes,12,opt,name=data_update,json=dataUpdate,proto3,oneof"`
}
type GossipMessage_Empty struct {
Empty *Empty `protobuf:"bytes,13,opt,name=empty,proto3,oneof"`
}
type GossipMessage_Hello struct {
Hello *GossipHello `protobuf:"bytes,9,opt,name=hello,proto3,oneof"`
}
type GossipMessage_LeadershipMsg struct {
LeadershipMsg *LeadershipMessage `protobuf:"bytes,20,opt,name=leadership_msg,json=leadershipMsg,proto3,oneof"`
}
type GossipMessage_MemReq struct {
MemReq *MembershipRequest `protobuf:"bytes,6,opt,name=mem_req,json=memReq,proto3,oneof"`
}
type GossipMessage_MemRes struct {
MemRes *MembershipResponse `protobuf:"bytes,7,opt,name=mem_res,json=memRes,proto3,oneof"`
}
type GossipMessage_PeerIdentity struct {
PeerIdentity *PeerIdentity `protobuf:"bytes,21,opt,name=peer_identity,json=peerIdentity,proto3,oneof"`
}
type GossipMessage_PrivateData struct {
PrivateData *PrivateDataMessage `protobuf:"bytes,25,opt,name=private_data,json=privateData,proto3,oneof"`
}
type GossipMessage_PrivateReq struct {
PrivateReq *RemotePvtDataRequest `protobuf:"bytes,23,opt,name=privateReq,proto3,oneof"`
}
type GossipMessage_PrivateRes struct {
PrivateRes *RemotePvtDataResponse `protobuf:"bytes,24,opt,name=privateRes,proto3,oneof"`
}
type GossipMessage_StateInfo struct {
StateInfo *StateInfo `protobuf:"bytes,15,opt,name=state_info,json=stateInfo,proto3,oneof"`
}
type GossipMessage_StateInfoPullReq struct {
StateInfoPullReq *StateInfoPullRequest `protobuf:"bytes,17,opt,name=state_info_pull_req,json=stateInfoPullReq,proto3,oneof"`
}
type GossipMessage_StateRequest struct {
StateRequest *RemoteStateRequest `protobuf:"bytes,18,opt,name=state_request,json=stateRequest,proto3,oneof"`
}
type GossipMessage_StateResponse struct {
StateResponse *RemoteStateResponse `protobuf:"bytes,19,opt,name=state_response,json=stateResponse,proto3,oneof"`
}
type GossipMessage_StateSnapshot struct {
StateSnapshot *StateInfoSnapshot `protobuf:"bytes,16,opt,name=state_snapshot,json=stateSnapshot,proto3,oneof"`
}
type GossipMessage_Tag int32
const (
GossipMessage_UNDEFINED GossipMessage_Tag = 0
GossipMessage_EMPTY GossipMessage_Tag = 1
GossipMessage_ORG_ONLY GossipMessage_Tag = 2
GossipMessage_CHAN_ONLY GossipMessage_Tag = 3
GossipMessage_CHAN_AND_ORG GossipMessage_Tag = 4
GossipMessage_CHAN_OR_ORG GossipMessage_Tag = 5
)
func (GossipMessage_Tag) EnumDescriptor() ([]byte, []int)
func (x GossipMessage_Tag) String() string
GossipServer is the server API for Gossip service.
type GossipServer interface {
// GossipStream is the gRPC stream used for sending and receiving messages
GossipStream(Gossip_GossipStreamServer) error
// Ping is used to probe a remote peer's aliveness
Ping(context.Context, *Empty) (*Empty, error)
}
type Gossip_GossipStreamClient interface {
Send(*Envelope) error
Recv() (*Envelope, error)
grpc.ClientStream
}
type Gossip_GossipStreamServer interface {
Send(*Envelope) error
Recv() (*Envelope, error)
grpc.ServerStream
}
IdentifierExtractor extracts from a SignedGossipMessage an identifier
type IdentifierExtractor func(*SignedGossipMessage) string
Leadership Message is sent during leader election to inform remote peers about intent of peer to proclaim itself as leader
type LeadershipMessage struct {
PkiId []byte `protobuf:"bytes,1,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"`
Timestamp *PeerTime `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
IsDeclaration bool `protobuf:"varint,3,opt,name=is_declaration,json=isDeclaration,proto3" json:"is_declaration,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*LeadershipMessage) Descriptor() ([]byte, []int)
func (m *LeadershipMessage) GetIsDeclaration() bool
func (m *LeadershipMessage) GetPkiId() []byte
func (m *LeadershipMessage) GetTimestamp() *PeerTime
func (*LeadershipMessage) ProtoMessage()
func (m *LeadershipMessage) Reset()
func (m *LeadershipMessage) String() string
func (m *LeadershipMessage) XXX_DiscardUnknown()
func (m *LeadershipMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *LeadershipMessage) XXX_Merge(src proto.Message)
func (m *LeadershipMessage) XXX_Size() int
func (m *LeadershipMessage) XXX_Unmarshal(b []byte) error
Member holds membership-related information about a peer
type Member struct {
Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
Metadata []byte `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
PkiId []byte `protobuf:"bytes,3,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*Member) Descriptor() ([]byte, []int)
func (m *Member) GetEndpoint() string
func (m *Member) GetMetadata() []byte
func (m *Member) GetPkiId() []byte
func (*Member) ProtoMessage()
func (m *Member) Reset()
func (m *Member) String() string
func (m *Member) XXX_DiscardUnknown()
func (m *Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *Member) XXX_Merge(src proto.Message)
func (m *Member) XXX_Size() int
func (m *Member) XXX_Unmarshal(b []byte) error
MembershipRequest is used to ask membership information from a remote peer
type MembershipRequest struct {
SelfInformation *Envelope `protobuf:"bytes,1,opt,name=self_information,json=selfInformation,proto3" json:"self_information,omitempty"`
Known [][]byte `protobuf:"bytes,2,rep,name=known,proto3" json:"known,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*MembershipRequest) Descriptor() ([]byte, []int)
func (m *MembershipRequest) GetKnown() [][]byte
func (m *MembershipRequest) GetSelfInformation() *Envelope
func (*MembershipRequest) ProtoMessage()
func (m *MembershipRequest) Reset()
func (m *MembershipRequest) String() string
func (m *MembershipRequest) XXX_DiscardUnknown()
func (m *MembershipRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *MembershipRequest) XXX_Merge(src proto.Message)
func (m *MembershipRequest) XXX_Size() int
func (m *MembershipRequest) XXX_Unmarshal(b []byte) error
MembershipResponse is used for replying to MembershipRequests
type MembershipResponse struct {
Alive []*Envelope `protobuf:"bytes,1,rep,name=alive,proto3" json:"alive,omitempty"`
Dead []*Envelope `protobuf:"bytes,2,rep,name=dead,proto3" json:"dead,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*MembershipResponse) Descriptor() ([]byte, []int)
func (m *MembershipResponse) GetAlive() []*Envelope
func (m *MembershipResponse) GetDead() []*Envelope
func (*MembershipResponse) ProtoMessage()
func (m *MembershipResponse) Reset()
func (m *MembershipResponse) String() string
func (m *MembershipResponse) XXX_DiscardUnknown()
func (m *MembershipResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *MembershipResponse) XXX_Merge(src proto.Message)
func (m *MembershipResponse) XXX_Size() int
func (m *MembershipResponse) XXX_Unmarshal(b []byte) error
MsgConsumer invokes code given a SignedGossipMessage
type MsgConsumer func(message *SignedGossipMessage)
Payload contains a block
type Payload struct {
SeqNum uint64 `protobuf:"varint,1,opt,name=seq_num,json=seqNum,proto3" json:"seq_num,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
PrivateData [][]byte `protobuf:"bytes,3,rep,name=private_data,json=privateData,proto3" json:"private_data,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*Payload) Descriptor() ([]byte, []int)
func (m *Payload) GetData() []byte
func (m *Payload) GetPrivateData() [][]byte
func (m *Payload) GetSeqNum() uint64
func (*Payload) ProtoMessage()
func (m *Payload) Reset()
func (m *Payload) String() string
func (m *Payload) XXX_DiscardUnknown()
func (m *Payload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *Payload) XXX_Merge(src proto.Message)
func (m *Payload) XXX_Size() int
func (m *Payload) XXX_Unmarshal(b []byte) error
PeerIdentity defines the identity of the peer Used to make other peers learn of the identity of a certain peer
type PeerIdentity struct {
PkiId []byte `protobuf:"bytes,1,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"`
Cert []byte `protobuf:"bytes,2,opt,name=cert,proto3" json:"cert,omitempty"`
Metadata []byte `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*PeerIdentity) Descriptor() ([]byte, []int)
func (m *PeerIdentity) GetCert() []byte
func (m *PeerIdentity) GetMetadata() []byte
func (m *PeerIdentity) GetPkiId() []byte
func (*PeerIdentity) ProtoMessage()
func (m *PeerIdentity) Reset()
func (m *PeerIdentity) String() string
func (m *PeerIdentity) XXX_DiscardUnknown()
func (m *PeerIdentity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *PeerIdentity) XXX_Merge(src proto.Message)
func (m *PeerIdentity) XXX_Size() int
func (m *PeerIdentity) XXX_Unmarshal(b []byte) error
PeerTime defines the logical time of a peer's life
type PeerTime struct {
IncNum uint64 `protobuf:"varint,1,opt,name=inc_num,json=incNum,proto3" json:"inc_num,omitempty"`
SeqNum uint64 `protobuf:"varint,2,opt,name=seq_num,json=seqNum,proto3" json:"seq_num,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*PeerTime) Descriptor() ([]byte, []int)
func (m *PeerTime) GetIncNum() uint64
func (m *PeerTime) GetSeqNum() uint64
func (*PeerTime) ProtoMessage()
func (m *PeerTime) Reset()
func (m *PeerTime) String() string
func (m *PeerTime) XXX_DiscardUnknown()
func (m *PeerTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *PeerTime) XXX_Merge(src proto.Message)
func (m *PeerTime) XXX_Size() int
func (m *PeerTime) XXX_Unmarshal(b []byte) error
PrivateDataMessage message which includes private data information to distributed once transaction has been endorsed
type PrivateDataMessage struct {
Payload *PrivatePayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*PrivateDataMessage) Descriptor() ([]byte, []int)
func (m *PrivateDataMessage) GetPayload() *PrivatePayload
func (*PrivateDataMessage) ProtoMessage()
func (m *PrivateDataMessage) Reset()
func (m *PrivateDataMessage) String() string
func (m *PrivateDataMessage) XXX_DiscardUnknown()
func (m *PrivateDataMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *PrivateDataMessage) XXX_Merge(src proto.Message)
func (m *PrivateDataMessage) XXX_Size() int
func (m *PrivateDataMessage) XXX_Unmarshal(b []byte) error
PrivatePayload payload to encapsulate private data with collection name to enable routing based on collection partitioning
type PrivatePayload struct {
CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
TxId string `protobuf:"bytes,3,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
PrivateRwset []byte `protobuf:"bytes,4,opt,name=private_rwset,json=privateRwset,proto3" json:"private_rwset,omitempty"`
PrivateSimHeight uint64 `protobuf:"varint,5,opt,name=private_sim_height,json=privateSimHeight,proto3" json:"private_sim_height,omitempty"`
CollectionConfigs *common.CollectionConfigPackage `protobuf:"bytes,6,opt,name=collection_configs,json=collectionConfigs,proto3" json:"collection_configs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*PrivatePayload) Descriptor() ([]byte, []int)
func (m *PrivatePayload) GetCollectionConfigs() *common.CollectionConfigPackage
func (m *PrivatePayload) GetCollectionName() string
func (m *PrivatePayload) GetNamespace() string
func (m *PrivatePayload) GetPrivateRwset() []byte
func (m *PrivatePayload) GetPrivateSimHeight() uint64
func (m *PrivatePayload) GetTxId() string
func (*PrivatePayload) ProtoMessage()
func (m *PrivatePayload) Reset()
func (m *PrivatePayload) String() string
func (m *PrivatePayload) XXX_DiscardUnknown()
func (m *PrivatePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *PrivatePayload) XXX_Merge(src proto.Message)
func (m *PrivatePayload) XXX_Size() int
func (m *PrivatePayload) XXX_Unmarshal(b []byte) error
type Properties struct {
LedgerHeight uint64 `protobuf:"varint,1,opt,name=ledger_height,json=ledgerHeight,proto3" json:"ledger_height,omitempty"`
LeftChannel bool `protobuf:"varint,2,opt,name=left_channel,json=leftChannel,proto3" json:"left_channel,omitempty"`
Chaincodes []*Chaincode `protobuf:"bytes,3,rep,name=chaincodes,proto3" json:"chaincodes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*Properties) Descriptor() ([]byte, []int)
func (m *Properties) GetChaincodes() []*Chaincode
func (m *Properties) GetLedgerHeight() uint64
func (m *Properties) GetLeftChannel() bool
func (*Properties) ProtoMessage()
func (m *Properties) Reset()
func (m *Properties) String() string
func (m *Properties) XXX_DiscardUnknown()
func (m *Properties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *Properties) XXX_Merge(src proto.Message)
func (m *Properties) XXX_Size() int
func (m *Properties) XXX_Unmarshal(b []byte) error
type PullMsgType int32
const (
PullMsgType_UNDEFINED PullMsgType = 0
PullMsgType_BLOCK_MSG PullMsgType = 1
PullMsgType_IDENTITY_MSG PullMsgType = 2
)
func (PullMsgType) EnumDescriptor() ([]byte, []int)
func (x PullMsgType) String() string
PvtDataDigest defines a digest of private data
type PvtDataDigest struct {
TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"`
BlockSeq uint64 `protobuf:"varint,4,opt,name=block_seq,json=blockSeq,proto3" json:"block_seq,omitempty"`
SeqInBlock uint64 `protobuf:"varint,5,opt,name=seq_in_block,json=seqInBlock,proto3" json:"seq_in_block,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*PvtDataDigest) Descriptor() ([]byte, []int)
func (m *PvtDataDigest) GetBlockSeq() uint64
func (m *PvtDataDigest) GetCollection() string
func (m *PvtDataDigest) GetNamespace() string
func (m *PvtDataDigest) GetSeqInBlock() uint64
func (m *PvtDataDigest) GetTxId() string
func (dig *PvtDataDigest) Hash() (string, error)
Hash returns the SHA256 representation of the PvtDataDigest's bytes
func (*PvtDataDigest) ProtoMessage()
func (m *PvtDataDigest) Reset()
func (m *PvtDataDigest) String() string
func (m *PvtDataDigest) XXX_DiscardUnknown()
func (m *PvtDataDigest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *PvtDataDigest) XXX_Merge(src proto.Message)
func (m *PvtDataDigest) XXX_Size() int
func (m *PvtDataDigest) XXX_Unmarshal(b []byte) error
type PvtDataElement struct {
Digest *PvtDataDigest `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
// the payload is a marshaled kvrwset.KVRWSet
Payload [][]byte `protobuf:"bytes,2,rep,name=payload,proto3" json:"payload,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*PvtDataElement) Descriptor() ([]byte, []int)
func (m *PvtDataElement) GetDigest() *PvtDataDigest
func (m *PvtDataElement) GetPayload() [][]byte
func (*PvtDataElement) ProtoMessage()
func (m *PvtDataElement) Reset()
func (m *PvtDataElement) String() string
func (m *PvtDataElement) XXX_DiscardUnknown()
func (m *PvtDataElement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *PvtDataElement) XXX_Merge(src proto.Message)
func (m *PvtDataElement) XXX_Size() int
func (m *PvtDataElement) XXX_Unmarshal(b []byte) error
PvtPayload augments private rwset data and tx index inside the block
type PvtDataPayload struct {
TxSeqInBlock uint64 `protobuf:"varint,1,opt,name=tx_seq_in_block,json=txSeqInBlock,proto3" json:"tx_seq_in_block,omitempty"`
// Encodes marhslaed bytes of rwset.TxPvtReadWriteSet
// defined in rwset.proto
Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*PvtDataPayload) Descriptor() ([]byte, []int)
func (m *PvtDataPayload) GetPayload() []byte
func (m *PvtDataPayload) GetTxSeqInBlock() uint64
func (*PvtDataPayload) ProtoMessage()
func (m *PvtDataPayload) Reset()
func (m *PvtDataPayload) String() string
func (m *PvtDataPayload) XXX_DiscardUnknown()
func (m *PvtDataPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *PvtDataPayload) XXX_Merge(src proto.Message)
func (m *PvtDataPayload) XXX_Size() int
func (m *PvtDataPayload) XXX_Unmarshal(b []byte) error
ReceivedMessage is a GossipMessage wrapper that enables the user to send a message to the origin from which the ReceivedMessage was sent from. It also allows to know the identity of the sender, to obtain the raw bytes the GossipMessage was un-marshaled from, and the signature over these raw bytes.
type ReceivedMessage interface {
// Respond sends a GossipMessage to the origin from which this ReceivedMessage was sent from
Respond(msg *GossipMessage)
// GetGossipMessage returns the underlying GossipMessage
GetGossipMessage() *SignedGossipMessage
// GetSourceMessage Returns the Envelope the ReceivedMessage was
// constructed with
GetSourceEnvelope() *Envelope
// GetConnectionInfo returns information about the remote peer
// that sent the message
GetConnectionInfo() *ConnectionInfo
// Ack returns to the sender an acknowledgement for the message
// An ack can receive an error that indicates that the operation related
// to the message has failed
Ack(err error)
}
RemotePrivateDataRequest message used to request missing private rwset
type RemotePvtDataRequest struct {
Digests []*PvtDataDigest `protobuf:"bytes,1,rep,name=digests,proto3" json:"digests,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*RemotePvtDataRequest) Descriptor() ([]byte, []int)
func (m *RemotePvtDataRequest) GetDigests() []*PvtDataDigest
func (*RemotePvtDataRequest) ProtoMessage()
func (m *RemotePvtDataRequest) Reset()
func (m *RemotePvtDataRequest) String() string
func (m *RemotePvtDataRequest) XXX_DiscardUnknown()
func (m *RemotePvtDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *RemotePvtDataRequest) XXX_Merge(src proto.Message)
func (m *RemotePvtDataRequest) XXX_Size() int
func (m *RemotePvtDataRequest) XXX_Unmarshal(b []byte) error
RemotePrivateData message to response on private data replication request
type RemotePvtDataResponse struct {
Elements []*PvtDataElement `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*RemotePvtDataResponse) Descriptor() ([]byte, []int)
func (m *RemotePvtDataResponse) GetElements() []*PvtDataElement
func (*RemotePvtDataResponse) ProtoMessage()
func (m *RemotePvtDataResponse) Reset()
func (m *RemotePvtDataResponse) String() string
func (res *RemotePvtDataResponse) ToString() string
ToString returns a string representation of this RemotePvtDataResponse
func (m *RemotePvtDataResponse) XXX_DiscardUnknown()
func (m *RemotePvtDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *RemotePvtDataResponse) XXX_Merge(src proto.Message)
func (m *RemotePvtDataResponse) XXX_Size() int
func (m *RemotePvtDataResponse) XXX_Unmarshal(b []byte) error
RemoteStateRequest is used to ask a set of blocks from a remote peer
type RemoteStateRequest struct {
StartSeqNum uint64 `protobuf:"varint,1,opt,name=start_seq_num,json=startSeqNum,proto3" json:"start_seq_num,omitempty"`
EndSeqNum uint64 `protobuf:"varint,2,opt,name=end_seq_num,json=endSeqNum,proto3" json:"end_seq_num,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*RemoteStateRequest) Descriptor() ([]byte, []int)
func (m *RemoteStateRequest) GetEndSeqNum() uint64
func (m *RemoteStateRequest) GetStartSeqNum() uint64
func (*RemoteStateRequest) ProtoMessage()
func (m *RemoteStateRequest) Reset()
func (m *RemoteStateRequest) String() string
func (m *RemoteStateRequest) XXX_DiscardUnknown()
func (m *RemoteStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *RemoteStateRequest) XXX_Merge(src proto.Message)
func (m *RemoteStateRequest) XXX_Size() int
func (m *RemoteStateRequest) XXX_Unmarshal(b []byte) error
RemoteStateResponse is used to send a set of blocks to a remote peer
type RemoteStateResponse struct {
Payloads []*Payload `protobuf:"bytes,1,rep,name=payloads,proto3" json:"payloads,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*RemoteStateResponse) Descriptor() ([]byte, []int)
func (m *RemoteStateResponse) GetPayloads() []*Payload
func (*RemoteStateResponse) ProtoMessage()
func (m *RemoteStateResponse) Reset()
func (m *RemoteStateResponse) String() string
func (m *RemoteStateResponse) XXX_DiscardUnknown()
func (m *RemoteStateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *RemoteStateResponse) XXX_Merge(src proto.Message)
func (m *RemoteStateResponse) XXX_Size() int
func (m *RemoteStateResponse) XXX_Unmarshal(b []byte) error
Secret is an entity that might be omitted from an Envelope when the remote peer that is receiving the Envelope shouldn't know the secret's content.
type Secret struct {
// Types that are valid to be assigned to Content:
// *Secret_InternalEndpoint
Content isSecret_Content `protobuf_oneof:"content"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*Secret) Descriptor() ([]byte, []int)
func (m *Secret) GetContent() isSecret_Content
func (m *Secret) GetInternalEndpoint() string
func (*Secret) ProtoMessage()
func (m *Secret) Reset()
func (m *Secret) String() string
func (m *Secret) XXX_DiscardUnknown()
func (m *Secret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *Secret) XXX_Merge(src proto.Message)
func (*Secret) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
func (m *Secret) XXX_Size() int
func (m *Secret) XXX_Unmarshal(b []byte) error
SecretEnvelope is a marshalled Secret and a signature over it. The signature should be validated by the peer that signed the Envelope the SecretEnvelope came with
type SecretEnvelope struct {
Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*SecretEnvelope) Descriptor() ([]byte, []int)
func (m *SecretEnvelope) GetPayload() []byte
func (m *SecretEnvelope) GetSignature() []byte
func (s *SecretEnvelope) InternalEndpoint() string
InternalEndpoint returns the internal endpoint in the secret envelope, or an empty string if a failure occurs.
func (*SecretEnvelope) ProtoMessage()
func (m *SecretEnvelope) Reset()
func (m *SecretEnvelope) String() string
func (m *SecretEnvelope) XXX_DiscardUnknown()
func (m *SecretEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *SecretEnvelope) XXX_Merge(src proto.Message)
func (m *SecretEnvelope) XXX_Size() int
func (m *SecretEnvelope) XXX_Unmarshal(b []byte) error
type Secret_InternalEndpoint struct {
InternalEndpoint string `protobuf:"bytes,1,opt,name=internalEndpoint,proto3,oneof"`
}
SignedGossipMessage contains a GossipMessage and the Envelope from which it came from
type SignedGossipMessage struct {
*Envelope
*GossipMessage
}
func (m *SignedGossipMessage) IsSigned() bool
IsSigned returns whether the message has a signature in the envelope.
func (m *SignedGossipMessage) Sign(signer Signer) (*Envelope, error)
Sign signs a GossipMessage with given Signer. Returns an Envelope on success, panics on failure.
func (m *SignedGossipMessage) String() string
String returns a string representation of a SignedGossipMessage
func (m *SignedGossipMessage) Verify(peerIdentity []byte, verify Verifier) error
Verify verifies a signed GossipMessage with a given Verifier. Returns nil on success, error on failure.
Signer signs a message, and returns (signature, nil) on success, and nil and an error on failure.
type Signer func(msg []byte) ([]byte, error)
StateInfo is used for a peer to relay its state information to other peers
type StateInfo struct {
Timestamp *PeerTime `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
PkiId []byte `protobuf:"bytes,3,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"`
// channel_MAC is an authentication code that proves
// that the peer that sent this message knows
// the name of the channel.
Channel_MAC []byte `protobuf:"bytes,4,opt,name=channel_MAC,json=channelMAC,proto3" json:"channel_MAC,omitempty"`
Properties *Properties `protobuf:"bytes,5,opt,name=properties,proto3" json:"properties,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*StateInfo) Descriptor() ([]byte, []int)
func (m *StateInfo) GetChannel_MAC() []byte
func (m *StateInfo) GetPkiId() []byte
func (m *StateInfo) GetProperties() *Properties
func (m *StateInfo) GetTimestamp() *PeerTime
func (msg *StateInfo) LedgerHeight() (uint64, error)
LedgerHeight returns the ledger height that is specified in the StateInfo message
func (*StateInfo) ProtoMessage()
func (m *StateInfo) Reset()
func (m *StateInfo) String() string
func (m *StateInfo) XXX_DiscardUnknown()
func (m *StateInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *StateInfo) XXX_Merge(src proto.Message)
func (m *StateInfo) XXX_Size() int
func (m *StateInfo) XXX_Unmarshal(b []byte) error
StateInfoPullRequest is used to fetch a StateInfoSnapshot from a remote peer
type StateInfoPullRequest struct {
// channel_MAC is an authentication code that proves
// that the peer that sent this message knows
// the name of the channel.
Channel_MAC []byte `protobuf:"bytes,1,opt,name=channel_MAC,json=channelMAC,proto3" json:"channel_MAC,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*StateInfoPullRequest) Descriptor() ([]byte, []int)
func (m *StateInfoPullRequest) GetChannel_MAC() []byte
func (*StateInfoPullRequest) ProtoMessage()
func (m *StateInfoPullRequest) Reset()
func (m *StateInfoPullRequest) String() string
func (m *StateInfoPullRequest) XXX_DiscardUnknown()
func (m *StateInfoPullRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *StateInfoPullRequest) XXX_Merge(src proto.Message)
func (m *StateInfoPullRequest) XXX_Size() int
func (m *StateInfoPullRequest) XXX_Unmarshal(b []byte) error
StateInfoSnapshot is an aggregation of StateInfo messages
type StateInfoSnapshot struct {
Elements []*Envelope `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*StateInfoSnapshot) Descriptor() ([]byte, []int)
func (m *StateInfoSnapshot) GetElements() []*Envelope
func (*StateInfoSnapshot) ProtoMessage()
func (m *StateInfoSnapshot) Reset()
func (m *StateInfoSnapshot) String() string
func (m *StateInfoSnapshot) XXX_DiscardUnknown()
func (m *StateInfoSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (dst *StateInfoSnapshot) XXX_Merge(src proto.Message)
func (m *StateInfoSnapshot) XXX_Size() int
func (m *StateInfoSnapshot) XXX_Unmarshal(b []byte) error
Verifier receives a peer identity, a signature and a message and returns nil if the signature on the message could be verified using the given identity.
type Verifier func(peerIdentity []byte, signature, message []byte) error