Documentation ¶
Index ¶
- func ApplyJobQueryField(fieldPtr interface{}, queryField JobQueryField) error
- func NewTestEventEmitter(vault EngineVault, header testevent.Header) testevent.Emitter
- func NewTestEventEmitterFetcher(vault EngineVault, header testevent.Header) testevent.EmitterFetcher
- func NewTestEventEmitterFetcherWithAllowedEvents(vault EngineVault, header testevent.Header, allowedEvents *map[event.Name]bool) testevent.EmitterFetcher
- func NewTestEventEmitterWithAllowedEvents(vault EngineVault, header testevent.Header, allowedEvents *map[event.Name]bool) testevent.Emitter
- func NewTestEventFetcher(vault EngineVault) testevent.Fetcher
- func WithConsistencyModel(ctx xcontext.Context, model ConsistencyModel) xcontext.Context
- type ConsistencyModel
- type EngineType
- type EngineVault
- type EngineVaultMap
- type ErrJobQueryFieldHasZeroValue
- type ErrJobQueryFieldIsAlreadySet
- type EventStorage
- type FrameworkEventEmitter
- type FrameworkEventEmitterFetcher
- type FrameworkEventFetcher
- type JobQuery
- type JobQueryField
- type JobQueryFields
- type JobStorage
- type JobStorageManager
- func (jsm JobStorageManager) GetJobReport(ctx xcontext.Context, jobID types.JobID) (*job.JobReport, error)
- func (jsm JobStorageManager) GetJobRequest(ctx xcontext.Context, jobID types.JobID) (*job.Request, error)
- func (jsm JobStorageManager) ListJobs(ctx xcontext.Context, query *JobQuery) ([]types.JobID, error)
- func (jsm JobStorageManager) StoreJobRequest(ctx xcontext.Context, request *job.Request) (types.JobID, error)
- func (jsm JobStorageManager) StoreReport(ctx xcontext.Context, report *job.Report) error
- type ResettableStorage
- type SimpleEngineVault
- type Storage
- type TestEventEmitter
- type TestEventEmitterFetcher
- type TestEventFetcher
- type TransactionalStorage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyJobQueryField ¶
func ApplyJobQueryField(fieldPtr interface{}, queryField JobQueryField) error
func NewTestEventEmitter ¶
func NewTestEventEmitter(vault EngineVault, header testevent.Header) testevent.Emitter
NewTestEventEmitter creates a new Emitter object associated with a Header
func NewTestEventEmitterFetcher ¶
func NewTestEventEmitterFetcher(vault EngineVault, header testevent.Header) testevent.EmitterFetcher
NewTestEventEmitterFetcher creates a new EmitterFetcher object associated with a Header
func NewTestEventEmitterFetcherWithAllowedEvents ¶
func NewTestEventEmitterFetcherWithAllowedEvents(vault EngineVault, header testevent.Header, allowedEvents *map[event.Name]bool) testevent.EmitterFetcher
NewTestEventEmitterFetcherWithAllowedEvents creates a new EmitterFetcher object associated with a Header
func NewTestEventEmitterWithAllowedEvents ¶
func NewTestEventEmitterWithAllowedEvents(vault EngineVault, header testevent.Header, allowedEvents *map[event.Name]bool) testevent.Emitter
NewTestEventEmitterWithAllowedEvents creates a new Emitter object associated with a Header
func NewTestEventFetcher ¶
func NewTestEventFetcher(vault EngineVault) testevent.Fetcher
NewTestEventFetcher creates a new Fetcher object associated with a Header
func WithConsistencyModel ¶
func WithConsistencyModel(ctx xcontext.Context, model ConsistencyModel) xcontext.Context
Types ¶
type ConsistencyModel ¶
type ConsistencyModel int
ConsistencyModel hints at whether queries should go to the primary database or any available replica (in which case, the guarantee is eventual consistency)
const ( ConsistentReadAfterWrite ConsistencyModel = iota ConsistentEventually )
type EngineType ¶
type EngineType uint32
const ( UnknownEngine EngineType = iota SyncEngine AsyncEngine )
type EngineVault ¶
type EngineVault interface { // GetEngine - fetch the engine of selected type from the emitterVault GetEngine(EngineType) (Storage, error) }
type EngineVaultMap ¶
type EngineVaultMap map[EngineType]Storage
type ErrJobQueryFieldHasZeroValue ¶
type ErrJobQueryFieldHasZeroValue struct {
QueryField JobQueryField
}
ErrQueryFieldHasZeroValue is returned when a QueryFields failed validation due to a QueryField with a zero value (this is unexpected and forbidden).
func (ErrJobQueryFieldHasZeroValue) Error ¶
func (err ErrJobQueryFieldHasZeroValue) Error() string
type ErrJobQueryFieldIsAlreadySet ¶
type ErrJobQueryFieldIsAlreadySet struct { FieldValue interface{} QueryField JobQueryField }
func (ErrJobQueryFieldIsAlreadySet) Error ¶
func (err ErrJobQueryFieldIsAlreadySet) Error() string
type EventStorage ¶
type EventStorage interface { // Test events storage interface StoreTestEvent(ctx xcontext.Context, event testevent.Event) error GetTestEvents(ctx xcontext.Context, eventQuery *testevent.Query) ([]testevent.Event, error) // Framework events storage interface StoreFrameworkEvent(ctx xcontext.Context, event frameworkevent.Event) error GetFrameworkEvent(ctx xcontext.Context, eventQuery *frameworkevent.Query) ([]frameworkevent.Event, error) }
type FrameworkEventEmitter ¶
type FrameworkEventEmitter struct {
// contains filtered or unexported fields
}
FrameworkEventEmitter implements Emitter interface from the frameworkevent package
func NewFrameworkEventEmitter ¶
func NewFrameworkEventEmitter(vault EngineVault) FrameworkEventEmitter
NewFrameworkEventEmitter creates a new Emitter object for framework events
func (FrameworkEventEmitter) Emit ¶
func (ev FrameworkEventEmitter) Emit(ctx xcontext.Context, event frameworkevent.Event) error
Emit emits an event using the selected storage engine
type FrameworkEventEmitterFetcher ¶
type FrameworkEventEmitterFetcher struct { FrameworkEventEmitter FrameworkEventFetcher }
FrameworkEventEmitterFetcher implements Emitter and Fetcher interface from the frameworkevent package
func NewFrameworkEventEmitterFetcher ¶
func NewFrameworkEventEmitterFetcher(vault EngineVault) FrameworkEventEmitterFetcher
NewFrameworkEventEmitterFetcher creates a new EmitterFetcher object for framework events
type FrameworkEventFetcher ¶
type FrameworkEventFetcher struct {
// contains filtered or unexported fields
}
FrameworkEventFetcher implements the Fetcher interface from the frameworkevent package
func NewFrameworkEventFetcher ¶
func NewFrameworkEventFetcher(vault EngineVault) FrameworkEventFetcher
NewFrameworkEventFetcher creates a new Fetcher object for framework events
func (FrameworkEventFetcher) Fetch ¶
func (ev FrameworkEventFetcher) Fetch(ctx xcontext.Context, queryFields ...frameworkevent.QueryField) ([]frameworkevent.Event, error)
Fetch retrieves events based on QueryFields that are used to build a Query object for FrameworkEvents
type JobQuery ¶
func BuildJobQuery ¶
func BuildJobQuery(queryFields ...JobQueryField) (*JobQuery, error)
type JobQueryField ¶
type JobQueryField interface {
// contains filtered or unexported methods
}
func QueryJobServerID ¶
func QueryJobServerID(serverID string) JobQueryField
func QueryJobStates ¶
func QueryJobStates(states ...job.State) JobQueryField
func QueryJobTags ¶
func QueryJobTags(tags ...string) JobQueryField
type JobQueryFields ¶
type JobQueryFields []JobQueryField
func (JobQueryFields) BuildQuery ¶
func (queryFields JobQueryFields) BuildQuery() (*JobQuery, error)
type JobStorage ¶
type JobStorage interface { // Job request interface StoreJobRequest(ctx xcontext.Context, request *job.Request) (types.JobID, error) GetJobRequest(ctx xcontext.Context, jobID types.JobID) (*job.Request, error) // Job report interface StoreReport(ctx xcontext.Context, report *job.Report) error GetJobReport(ctx xcontext.Context, jobID types.JobID) (*job.JobReport, error) // Job enumeration interface ListJobs(ctx xcontext.Context, query *JobQuery) ([]types.JobID, error) }
JobStorage defines the interface that implements persistence for job related information
type JobStorageManager ¶
type JobStorageManager struct {
// contains filtered or unexported fields
}
JobStorageManager implements JobStorage interface
func NewJobStorageManager ¶
func NewJobStorageManager(vault EngineVault) JobStorageManager
NewJobStorageManager creates a new JobStorageManager object
func (JobStorageManager) GetJobReport ¶
func (jsm JobStorageManager) GetJobReport(ctx xcontext.Context, jobID types.JobID) (*job.JobReport, error)
GetJobReport fetches a job report from the storage layer
func (JobStorageManager) GetJobRequest ¶
func (jsm JobStorageManager) GetJobRequest(ctx xcontext.Context, jobID types.JobID) (*job.Request, error)
GetJobRequest fetches a job request from the storage layer
func (JobStorageManager) StoreJobRequest ¶
func (jsm JobStorageManager) StoreJobRequest(ctx xcontext.Context, request *job.Request) (types.JobID, error)
StoreJobRequest submits a job request to the storage layer
func (JobStorageManager) StoreReport ¶
StoreReport submits a job run or final report to the storage layer
type ResettableStorage ¶
ResettableStorage is implemented by storage engines that support reset operation
type SimpleEngineVault ¶
type SimpleEngineVault struct {
// contains filtered or unexported fields
}
func NewSimpleEngineVault ¶
func NewSimpleEngineVault() *SimpleEngineVault
NewSimpleEngineVault - returns a new instance of SimpleEngineVault
func (*SimpleEngineVault) GetEngine ¶
func (v *SimpleEngineVault) GetEngine(engineType EngineType) (Storage, error)
GetEngine - get storage engine from the vault. Defaults to SyncEngine.
func (*SimpleEngineVault) StoreEngine ¶
func (v *SimpleEngineVault) StoreEngine(storageEngine Storage, engineType EngineType) error
StoreEngine - store supplied engine in the emitterVault. As SyncEngine by default Switching to a new storage engine implies garbage collecting the old one, with possible loss of pending events if not flushed correctly
type Storage ¶
type Storage interface { JobStorage EventStorage // Close flushes and releases resources associated with the storage engine. Close() error // Version returns the version of the storage being used Version() (uint64, error) }
Storage defines the interface that storage engines must implement
type TestEventEmitter ¶
type TestEventEmitter struct {
// contains filtered or unexported fields
}
TestEventEmitter implements Emitter interface from the testevent package
type TestEventEmitterFetcher ¶
type TestEventEmitterFetcher struct { TestEventEmitter TestEventFetcher }
TestEventEmitterFetcher implements Emitter and Fetcher interface of the testevent package
type TestEventFetcher ¶
type TestEventFetcher struct {
// contains filtered or unexported fields
}
TestEventFetcher implements the Fetcher interface from the testevent package
func (TestEventFetcher) Fetch ¶
func (ev TestEventFetcher) Fetch(ctx xcontext.Context, queryFields ...testevent.QueryField) ([]testevent.Event, error)
Fetch retrieves events based on QueryFields that are used to build a Query object for TestEvents
type TransactionalStorage ¶
type TransactionalStorage interface { Storage BeginTx() (TransactionalStorage, error) Commit() error Rollback() error }
TransactionalStorage is implemented by storage backends that support transactions. Only default isolation level is supported.