Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Deduplicator ¶
type Deduplicator struct {
// contains filtered or unexported fields
}
Deduplicator() keeps track of the previously run requests to avoid re-running them.
func (*Deduplicator) Next ¶
func (d *Deduplicator) Next() *Request
type DoneCallback ¶
type DynamicOrderer ¶
type DynamicOrderer struct {
// contains filtered or unexported fields
}
func DynamicOrder ¶
func DynamicOrder() *DynamicOrderer
DynamicOrder() can be used to form nested queues dynamically. That is, if q1 := pq.Append() q2 := pq.Append() All elements added via q2.Submit() will always have a *lower* priority than all elements added via q1.Submit().
func (*DynamicOrderer) Append ¶
func (do *DynamicOrderer) Append() Executor
func (*DynamicOrderer) Next ¶
func (do *DynamicOrderer) Next() *Request
type DynamicSourceCtl ¶
type DynamicSourceCtl struct {
// contains filtered or unexported fields
}
func DynamicSource ¶
func DynamicSource(source Source) *DynamicSourceCtl
DynamicSource is assumed never to point to nil.
func (*DynamicSourceCtl) Next ¶
func (ds *DynamicSourceCtl) Next() *Request
func (*DynamicSourceCtl) Store ¶
func (ds *DynamicSourceCtl) Store(source Source)
type Executor ¶
type Executor interface {
Submit(req *Request)
}
Executor describes the interface wanted by the producers of requests. After a Request is submitted, it's expected that the consumer will eventually take it and report the execution result via Done().
type PlainQueue ¶
type PlainQueue struct {
// contains filtered or unexported fields
}
PlainQueue is a straighforward thread-safe Request queue implementation.
func Plain ¶
func Plain() *PlainQueue
func PlainWithStat ¶
func PlainWithStat(val *stats.Val) *PlainQueue
func (*PlainQueue) Len ¶
func (pq *PlainQueue) Len() int
func (*PlainQueue) Next ¶
func (pq *PlainQueue) Next() *Request
func (*PlainQueue) Submit ¶
func (pq *PlainQueue) Submit(req *Request)
type Request ¶
type Request struct { Prog *prog.Prog ExecOpts flatrpc.ExecOpts // If specified, the resulting signal for call SignalFilterCall // will include subset of it even if it's not new. SignalFilter signal.Signal SignalFilterCall int // By default, only the newly seen signal is returned. // ReturnAllSignal tells the executor to return everything. ReturnAllSignal bool ReturnError bool ReturnOutput bool // This stat will be incremented on request completion. Stat *stats.Val // Options needed by runtest. BinaryFile string // If set, it's executed instead of Prog. Repeat int // Repeats in addition to the first run. // Important requests will be retried even from crashed VMs. Important bool // contains filtered or unexported fields }
func (*Request) OnDone ¶
func (r *Request) OnDone(cb DoneCallback)
type Result ¶
type Source ¶
type Source interface {
Next() *Request
}
Source describes the interface wanted by the consumers of requests.