 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ListShadowCCs ¶
func ListShadowCCs()
ListShadowCCs lists all registered shadow ccs in the library
func RegisterCCClients ¶
RegisterCCClients registers and maps chaincode clients to their shadows
Types ¶
type CCClient ¶
type CCClient struct {
	//-------------config properties ------------
	//Name of the chaincode
	Name string
	//InitArgs used for deploying the chaincode
	InitArgs []string
	//Path to the chaincode
	Path string
	//NumFinalQueryAttempts number of times to try final query before giving up
	NumFinalQueryAttempts int
	//NumberOfInvokes number of iterations to do invoke on
	NumberOfInvokes int
	//DelayBetweenInvokeMs delay between each invoke
	DelayBetweenInvokeMs int
	//DelayBetweenQueryMs delay between each query
	DelayBetweenQueryMs int
	//TimeoutToAbortSecs timeout for aborting this chaincode processing
	TimeoutToAbortSecs int
	//Lang of chaincode
	Lang string
	//WaitAfterInvokeMs wait time before validating invokes for this chaincode
	WaitAfterInvokeMs int
	//Concurrency number of goroutines to spin
	Concurrency int
	//-------------runtime properties ------------
	//Unique number assigned to this CC by CCChecker
	ID int
	// contains filtered or unexported fields
}
    CCClient chaincode properties, config and runtime
func (*CCClient) Run ¶
func (cc *CCClient) Run(ctxt context.Context, chainID string, bc common.BroadcastClient, ec pb.EndorserClient, signer msp.SigningIdentity, wg *sync.WaitGroup) error
Run test over given number of iterations
i will be unique across chaincodes and can be used as a key this is useful if chaincode occurs multiple times in the array of chaincodes
func (*CCClient) Validate ¶
func (cc *CCClient) Validate(ctxt context.Context, chainID string, bc common.BroadcastClient, ec pb.EndorserClient, signer msp.SigningIdentity, wg *sync.WaitGroup) error
Validate test that was Run. Each successful iteration in the run is validated against
type ShadowCCIntf ¶
type ShadowCCIntf interface {
	//InitShadowCC initializes the shadow chaincode (will be called once for each chaincode)
	InitShadowCC(initArgs []string)
	//GetInvokeArgs gets invoke arguments from shadow
	GetInvokeArgs(ccnum int, iter int) [][]byte
	//PostInvoke passes the retvalue from the invoke to the shadow for post-processing
	PostInvoke(args [][]byte, retval []byte) error
	//GetQueryArgs mimics the Invoke and gets the query for an invoke
	GetQueryArgs(ccnum int, iter int) [][]byte
	//Validate the results against the query arguments
	Validate(args [][]byte, value []byte) error
	//GetNumQueries returns number of queries to perform
	GetNumQueries(numSuccessfulInvokes int) int
	//OverrideNumInvokes overrides the users number of invoke request
	OverrideNumInvokes(numInvokesPlanned int) int
}
    ShadowCCIntf interfaces to be implemented by shadow chaincodes
 Click to show internal directories. 
   Click to hide internal directories.