Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Forwarder ¶
type Forwarder struct { PayloadChannel chan TransactionalPayload ShutdownChannel chan ShutdownForwarder // contains filtered or unexported fields }
Forwarder is a forwarder that works in transactional manner
func NewTransactionalForwarder ¶
func NewTransactionalForwarder(client *httpclient.StackStateClient, manager transactionmanager.TransactionManager) *Forwarder
NewTransactionalForwarder returns a instance of the forwarder
func (*Forwarder) ProgressTransactions ¶
func (f *Forwarder) ProgressTransactions(transactionMap map[string]transactional.PayloadTransaction)
ProgressTransactions is called on a successful payload post or when OnlyMarkTransactions is set to true. It acknowledges the actions within a transaction and completes a completed transaction.
func (*Forwarder) Start ¶
func (f *Forwarder) Start()
Start initialize and runs the transactional forwarder.
func (*Forwarder) SubmitTransactionalIntake ¶
func (f *Forwarder) SubmitTransactionalIntake(payload TransactionalPayload)
SubmitTransactionalIntake publishes the Payload to the PayloadChannel
type MockTransactionalForwarder ¶
type MockTransactionalForwarder struct {
PayloadChan chan TransactionalPayload
}
MockTransactionalForwarder is a mock implementation of the transactional forwarder
func NewMockTransactionalForwarder ¶
func NewMockTransactionalForwarder() *MockTransactionalForwarder
NewMockTransactionalForwarder returns a new instance of the MockTransactionalForwarder
func (*MockTransactionalForwarder) NextPayload ¶
func (mf *MockTransactionalForwarder) NextPayload() TransactionalPayload
NextPayload returns the next payload in the PayloadChan
func (*MockTransactionalForwarder) Start ¶
func (mf *MockTransactionalForwarder) Start()
Start is a noop
func (*MockTransactionalForwarder) Stop ¶
func (mf *MockTransactionalForwarder) Stop()
Stop closes the payload channel and resets the singleton init
func (*MockTransactionalForwarder) SubmitTransactionalIntake ¶
func (mf *MockTransactionalForwarder) SubmitTransactionalIntake(payload TransactionalPayload)
SubmitTransactionalIntake receives a TransactionalPayload and keeps it in the PayloadChan to be used in assertions
type PrintingTransactionalForwarder ¶
type PrintingTransactionalForwarder struct { PayloadChan chan TransactionalPayload // contains filtered or unexported fields }
PrintingTransactionalForwarder is a implementation of the transactional forwarder that prints the payload
func NewPrintingTransactionalForwarder ¶
func NewPrintingTransactionalForwarder(manager transactionmanager.TransactionManager) *PrintingTransactionalForwarder
NewPrintingTransactionalForwarder returns a new instance of the PrintingTransactionalForwarder
func (*PrintingTransactionalForwarder) Start ¶
func (mf *PrintingTransactionalForwarder) Start()
Start is a noop
func (*PrintingTransactionalForwarder) Stop ¶
func (mf *PrintingTransactionalForwarder) Stop()
Stop is a noop
func (*PrintingTransactionalForwarder) SubmitTransactionalIntake ¶
func (mf *PrintingTransactionalForwarder) SubmitTransactionalIntake(payload TransactionalPayload)
SubmitTransactionalIntake receives a TransactionalPayload and keeps it in the PayloadChan to be used in assertions
type TransactionalForwarder ¶
type TransactionalForwarder interface { Start() SubmitTransactionalIntake(payload TransactionalPayload) Stop() }
TransactionalForwarder encapsulates the functionality for a transactional forwarder
type TransactionalPayload ¶
type TransactionalPayload struct { Body []byte Path string TransactionActionMap map[string]transactional.PayloadTransaction }
TransactionalPayload contains the Payload and transactional data