TransactionHandler

Trait TransactionHandler 

Source
pub trait TransactionHandler {
    // Required methods
    fn family_name(&self) -> String;
    fn family_versions(&self) -> Vec<String>;
    fn namespaces(&self) -> Vec<String>;
    fn apply(
        &self,
        request: &TpProcessRequest,
        context: &mut dyn TransactionContext,
    ) -> Result<(), ApplyError>;
}

Required Methods§

Source

fn family_name(&self) -> String

TransactionHandler that defines the business logic for a new transaction family. The family_name, family_versions, and namespaces functions are used by the processor to route processing requests to the handler. family_name should return the name of the transaction family that this handler can process, e.g. “intkey”

Source

fn family_versions(&self) -> Vec<String>

family_versions should return a list of versions this transaction family handler can process, e.g. [“1.0”]

Source

fn namespaces(&self) -> Vec<String>

namespaces should return a list containing all the handler’s namespaces, e.g. [“abcdef”]

Source

fn apply( &self, request: &TpProcessRequest, context: &mut dyn TransactionContext, ) -> Result<(), ApplyError>

Apply is the single method where all the business logic for a transaction family is defined. The method will be called by the transaction processor upon receiving a TpProcessRequest that the handler understands and will pass in the TpProcessRequest and an initialized instance of the Context type.

Implementors§