Documentation ¶
Index ¶
- func CcCalls(ccNames ...string) []*discovery.ChaincodeCall
- func CcInterests(invocationsChains ...[]*discovery.ChaincodeCall) []*discovery.ChaincodeInterest
- type Client
- type MockDiscoverEndpointResponse
- type MockDiscoveryClient
- type MockResponseBuilder
- type Request
- func (req *Request) AddConfigQuery() *Request
- func (req *Request) AddEndorsersQuery(interests ...*discovery.ChaincodeInterest) (*Request, error)
- func (req *Request) AddLocalPeersQuery() *Request
- func (req *Request) AddPeersQuery(invocationChain ...*discovery.ChaincodeCall) *Request
- func (req *Request) OfChannel(ch string) *Request
- type Response
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CcCalls ¶
func CcCalls(ccNames ...string) []*discovery.ChaincodeCall
CcCalls creates an array of ChaincodeCalls based of cc names, can be used in AddPeersQuery(CcCalls(...))
func CcInterests ¶
func CcInterests(invocationsChains ...[]*discovery.ChaincodeCall) []*discovery.ChaincodeInterest
CcInterests creates an array of ChaincodeInterests based of ChaincodeCalls, can be used in AddEndorsersQuery(CcInterests(CcCalls(...)))
Types ¶
type Client ¶
type Client interface {
Send(ctx context.Context, req *Request, targets ...fab.PeerConfig) (<-chan Response, error)
}
Client gives ability to send discovery request to multiple targets. There are cases when multiple targets requested and some of them are hanging, recommended to cancel ctx after first successful response. Note: "access denied" is a success response, so check for it after response evaluation.
type MockDiscoverEndpointResponse ¶
type MockDiscoverEndpointResponse struct { Target string PeerEndpoints []*mocks.MockDiscoveryPeerEndpoint Error error //todo it's really hard to make an expectation in tests, maybe we need to switch to mocks because current thing is stub AccessDenied bool }
MockDiscoverEndpointResponse contains a mock response for the discover client
func (*MockDiscoverEndpointResponse) Build ¶
func (b *MockDiscoverEndpointResponse) Build() Response
Build builds a mock discovery response
type MockDiscoveryClient ¶
type MockDiscoveryClient struct {
// contains filtered or unexported fields
}
MockDiscoveryClient implements a mock Discover service
func NewMockDiscoveryClient ¶
func NewMockDiscoveryClient() *MockDiscoveryClient
NewMockDiscoveryClient returns a new mock Discover service
func (*MockDiscoveryClient) Send ¶
func (m *MockDiscoveryClient) Send(ctx context.Context, req *Request, targets ...fab.PeerConfig) (<-chan Response, error)
Send sends a Discovery request
func (*MockDiscoveryClient) SetResponses ¶
func (m *MockDiscoveryClient) SetResponses(responses ...MockResponseBuilder)
SetResponses sets the responses that the mock client should return from the Send function
type MockResponseBuilder ¶
type MockResponseBuilder interface {
Build() Response
}
MockResponseBuilder builds a mock discovery response
type Request ¶
type Request struct {
// contains filtered or unexported fields
}
Request aggregates several queries inside it
func (*Request) AddConfigQuery ¶
AddConfigQuery adds to the request a config query
func (*Request) AddEndorsersQuery ¶
func (req *Request) AddEndorsersQuery(interests ...*discovery.ChaincodeInterest) (*Request, error)
AddEndorsersQuery adds to the request a query for given chaincodes interests are the chaincode interests that the client wants to query for. All interests for a given channel should be supplied in an aggregated slice
func (*Request) AddLocalPeersQuery ¶
AddLocalPeersQuery adds to the request a local peer query
func (*Request) AddPeersQuery ¶
func (req *Request) AddPeersQuery(invocationChain ...*discovery.ChaincodeCall) *Request
AddPeersQuery adds to the request a peer query