Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Initialize ¶
func Initialize(customTxProcessors Processors)
Initialize sets the custom processors. This function is expected to be invoked only during ledgermgmt.Initialize() function.
func InitializeTestEnv ¶
func InitializeTestEnv(processors Processors)
InitializeTestEnv initializes custom tx processors for test
Types ¶
type InvalidTxError ¶
type InvalidTxError struct {
Msg string
}
InvalidTxError is expected to be thrown by a custom transaction processor (an implementation of interface `Processor`) if it wants the ledger to record a particular transaction as invalid
func (*InvalidTxError) Error ¶
func (e *InvalidTxError) Error() string
type Processor ¶
type Processor interface {
GenerateSimulationResults(txEnvelop *common.Envelope, simulator ledger.TxSimulator, initializingLedger bool) error
}
Processor allows to generate simulation results during commit time for custom transactions. A custom processor may represent the information in a propriety fashion and can use this process to translate the information into the form of `TxSimulationResults`. Because, the original information is signed in a custom representation, an implementation of a `Processor` should be cautious that the custom representation is used for simulation in an deterministic fashion and should take care of compatibility cross fabric versions. 'initializingLedger' true indicates that either the transaction being processed is from the genesis block or the ledger is syncing the state (which could happen during peer startup if the statedb is found to be lagging behind the blockchain). In the former case, the transactions processed are expected to be valid and in the latter case, only valid transactions are reprocessed and hence any validation can be skipped.
func GetProcessor ¶
func GetProcessor(txType common.HeaderType) Processor
GetProcessor returns a Processor associated with the txType
type Processors ¶
type Processors map[common.HeaderType]Processor
Processors maintains the association between a custom transaction type to its corresponding tx processor