Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Executor ¶
type Executor struct {
// contains filtered or unexported fields
}
Executor provides state machine runner.
type ExecutorFactory ¶
type ExecutorFactory struct {
// contains filtered or unexported fields
}
ExecutorFactory provides building Executor from sub-transactions with Finite State Machine.
func NewDefaultExecutorFactory ¶
func NewDefaultExecutorFactory(reg SagaRegistry) *ExecutorFactory
NewDefaultExecutorFactory returns new ExecutorFactory object, which uses default id dispenser.
func NewExecutorFactory ¶
func NewExecutorFactory(reg SagaRegistry, dispenser SagaExecutionIDDispenser) *ExecutorFactory
NewExecutorFactory returns new ExecutorFactory object.
func (*ExecutorFactory) NewExecutor ¶
func (f *ExecutorFactory) NewExecutor(sig Signature) (*Executor, error)
NewExecutor returns Executor object.
type Saga ¶
type Saga struct {
// contains filtered or unexported fields
}
Saga provides binding sub-transactions for event driven tasks.
func NewSaga ¶
func NewSaga(sig Signature, txns ...*SubTransaction) *Saga
NewSaga returns Saga object.
func (*Saga) SubTransactions ¶
func (s *Saga) SubTransactions() []*SubTransaction
SubTransactions returns sub-transactions list.
type SagaExecutionIDDispenser ¶
type SagaExecutionIDDispenser interface {
DispenseID() ExecutionID
}
SagaExecutionIDDispenser provides interface for Executor id dispenser.
type SagaRegistry ¶
SagaRegistry provides interface for Saga transactions storage.
type SubTransaction ¶
type SubTransaction struct {
// contains filtered or unexported fields
}
SubTransaction provides Action binding when forward and compensating.
func (SubTransaction) CompensatingAction ¶
func (s SubTransaction) CompensatingAction() Action
CompensatingAction returns Action for compensating operation.
func (SubTransaction) ForwardAction ¶
func (s SubTransaction) ForwardAction() Action
ForwardAction returns Action for forward operation.
func (SubTransaction) Name ¶
func (s SubTransaction) Name() string
Name returns sub-transaction name.