Documentation ¶
Overview ¶
Package jobsim is a generated protocol buffer package.
It is generated from these files:
github.com/luci/luci-go/dm/api/distributor/jobsim/jobsim.proto github.com/luci/luci-go/dm/api/distributor/jobsim/result.proto github.com/luci/luci-go/dm/api/distributor/jobsim/task.proto
It has these top-level messages:
Config Result Phrase ReturnStage Stage FailureStage StallStage DepsStage Dependency SparseRange RangeItem Range
Index ¶
- type Config
- type Dependency
- func (*Dependency) Descriptor() ([]byte, []int)
- func (m *Dependency) GetAttemptStrategy() isDependency_AttemptStrategy
- func (m *Dependency) GetAttempts() *SparseRange
- func (m *Dependency) GetMixSeed() bool
- func (m *Dependency) GetPhrase() *Phrase
- func (m *Dependency) GetRetries() uint32
- func (m *Dependency) GetShards() uint64
- func (d *Dependency) Normalize() error
- func (*Dependency) ProtoMessage()
- func (m *Dependency) Reset()
- func (d *Dependency) Seed(rnd *rand.Rand, seed, round int64)
- func (m *Dependency) String() string
- func (*Dependency) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type Dependency_Attempts
- type Dependency_Retries
- type DepsStage
- type FailureStage
- type Phrase
- func (*Phrase) Descriptor() ([]byte, []int)
- func (p *Phrase) FromProperty(prop datastore.Property) error
- func (m *Phrase) GetName() string
- func (m *Phrase) GetReturnStage() *ReturnStage
- func (m *Phrase) GetSeed() int64
- func (m *Phrase) GetStages() []*Stage
- func (p *Phrase) Normalize() error
- func (*Phrase) ProtoMessage()
- func (m *Phrase) Reset()
- func (m *Phrase) String() string
- func (p *Phrase) ToProperty() (prop datastore.Property, err error)
- type Range
- type RangeItem
- func (*RangeItem) Descriptor() ([]byte, []int)
- func (m *RangeItem) GetRange() *Range
- func (m *RangeItem) GetRangeItem() isRangeItem_RangeItem
- func (m *RangeItem) GetSingle() uint32
- func (*RangeItem) ProtoMessage()
- func (m *RangeItem) Reset()
- func (m *RangeItem) String() string
- func (*RangeItem) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type RangeItem_Range
- type RangeItem_Single
- type Result
- type ReturnStage
- type SparseRange
- type Stage
- func (*Stage) Descriptor() ([]byte, []int)
- func (m *Stage) GetDeps() *DepsStage
- func (m *Stage) GetFailure() *FailureStage
- func (m *Stage) GetStageType() isStage_StageType
- func (m *Stage) GetStall() *StallStage
- func (s *Stage) Normalize() error
- func (*Stage) ProtoMessage()
- func (m *Stage) Reset()
- func (m *Stage) String() string
- func (*Stage) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type Stage_Deps
- type Stage_Failure
- type Stage_Stall
- type StallStage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Pool specifies the unique 'pool' name for this jobsim configuration. This // will be used to namespace jobsim objects in the datastore, and can be used // to demonstrate cross-distributor dependencies (by having one pool's jobs // depend on another pool's results). Pool string `protobuf:"bytes,1,opt,name=pool" json:"pool,omitempty"` // DoPollback controls whether or not this configuration will force DM to // poll back when recieving a HandleNotification. If this is true, then // HandleNotification will return (nil, nil), and DM will call GetStatus // at some later point. If this is false, then HandleNotification will // directly return the job's status. DoPollback bool `protobuf:"varint,2,opt,name=do_pollback,json=doPollback" json:"do_pollback,omitempty"` }
Config is ONLY for testing purposes in dm/service. However, because of the way that the distributor proto works it needs to be included in the main distributor.proto file. For consistency, this jobsim proto lives here.
type Dependency ¶
type Dependency struct { // shards append [1], [2], [3], etc. to the "name"s of the dependencies, making // them unique quests. Shards uint64 `protobuf:"varint,1,opt,name=shards" json:"shards,omitempty"` // Types that are valid to be assigned to AttemptStrategy: // *Dependency_Attempts // *Dependency_Retries AttemptStrategy isDependency_AttemptStrategy `protobuf_oneof:"attempt_strategy"` // MixSeed will blend the current seed with the seed in the phrase seed, // when depending on it. // // mix_seed phrase.seed==0 -> dep uses "random" seed // mix_seed phrase.seed!=0 -> dep uses blend(current seed, phrase.seed) // !mix_seed phrase.seed==0 -> dep uses current seed // !mix_seed phrase.seed!=0 -> dep uses phrase.seed MixSeed bool `protobuf:"varint,4,opt,name=mix_seed,json=mixSeed" json:"mix_seed,omitempty"` Phrase *Phrase `protobuf:"bytes,5,opt,name=phrase" json:"phrase,omitempty"` }
Dependency represents a nested Phrase that this Phrase depends on.
func (*Dependency) Descriptor ¶
func (*Dependency) Descriptor() ([]byte, []int)
func (*Dependency) GetAttemptStrategy ¶
func (m *Dependency) GetAttemptStrategy() isDependency_AttemptStrategy
func (*Dependency) GetAttempts ¶
func (m *Dependency) GetAttempts() *SparseRange
func (*Dependency) GetMixSeed ¶
func (m *Dependency) GetMixSeed() bool
func (*Dependency) GetPhrase ¶
func (m *Dependency) GetPhrase() *Phrase
func (*Dependency) GetRetries ¶
func (m *Dependency) GetRetries() uint32
func (*Dependency) GetShards ¶
func (m *Dependency) GetShards() uint64
func (*Dependency) Normalize ¶
func (d *Dependency) Normalize() error
Normalize checks Dependency for errors and converts it to its normalized form.
func (*Dependency) ProtoMessage ¶
func (*Dependency) ProtoMessage()
func (*Dependency) Reset ¶
func (m *Dependency) Reset()
func (*Dependency) Seed ¶
func (d *Dependency) Seed(rnd *rand.Rand, seed, round int64)
Seed rewrites this dependency's Seed value
func (*Dependency) String ¶
func (m *Dependency) String() string
func (*Dependency) XXX_OneofFuncs ¶
func (*Dependency) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
type Dependency_Attempts ¶
type Dependency_Attempts struct {
Attempts *SparseRange `protobuf:"bytes,2,opt,name=attempts,oneof"`
}
type Dependency_Retries ¶
type Dependency_Retries struct {
Retries uint32 `protobuf:"varint,3,opt,name=retries,oneof"`
}
type DepsStage ¶
type DepsStage struct {
Deps []*Dependency `protobuf:"bytes,1,rep,name=deps" json:"deps,omitempty"`
}
DepsStage represents the opportunity to depend on 1 or more dependencies simultaneously.
func (*DepsStage) ExpandShards ¶
func (s *DepsStage) ExpandShards()
ExpandShards expands any dependencies that have non-zero Shards values.
func (*DepsStage) GetDeps ¶
func (m *DepsStage) GetDeps() []*Dependency
func (*DepsStage) Normalize ¶
Normalize checks DepsStage for errors and converts it to its normalized form.
type FailureStage ¶
type FailureStage struct {
Chance float32 `protobuf:"fixed32,1,opt,name=chance" json:"chance,omitempty"`
}
FailureStage is the /chance/ to fail with a certain liklihood. The chance is calculated using the current Phrase's 'seed' with the "math/rand" package, The seed is either 0 (unspecified), or the value of the 'seed' property for the currently running phrase.
0 is a 0-percent chance of failure. 1 is a 100-percent chance of failure.
func (*FailureStage) Descriptor ¶
func (*FailureStage) Descriptor() ([]byte, []int)
func (*FailureStage) GetChance ¶
func (m *FailureStage) GetChance() float32
func (*FailureStage) Normalize ¶
func (f *FailureStage) Normalize() error
Normalize checks FailureStage for errors and converts it to its normalized form.
func (*FailureStage) ProtoMessage ¶
func (*FailureStage) ProtoMessage()
func (*FailureStage) Reset ¶
func (m *FailureStage) Reset()
func (*FailureStage) String ¶
func (m *FailureStage) String() string
type Phrase ¶
type Phrase struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // Seed should be selected via a fair dice roll (using a d1.84e19). Seed int64 `protobuf:"varint,2,opt,name=seed" json:"seed,omitempty"` Stages []*Stage `protobuf:"bytes,3,rep,name=stages" json:"stages,omitempty"` ReturnStage *ReturnStage `protobuf:"bytes,4,opt,name=return_stage,json=returnStage" json:"return_stage,omitempty"` }
Phrase is a task to do. It consists of zero or more stages, followed by an optional ReturnStage.
func (*Phrase) FromProperty ¶
FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'Phrase' when used with the "github.com/luci/gae" library.
func (*Phrase) GetReturnStage ¶
func (m *Phrase) GetReturnStage() *ReturnStage
func (*Phrase) Normalize ¶
Normalize checks Phrase for errors and converts it to its normalized form.
type Range ¶
type Range struct { Low uint32 `protobuf:"varint,1,opt,name=low" json:"low,omitempty"` High uint32 `protobuf:"varint,2,opt,name=high" json:"high,omitempty"` }
Range represents a single low-high pair (e.g. [3-40])
func (*Range) Normalize ¶
Normalize checks Range for errors and converts it to its normalized form.
type RangeItem ¶
type RangeItem struct { // Types that are valid to be assigned to RangeItem: // *RangeItem_Single // *RangeItem_Range RangeItem isRangeItem_RangeItem `protobuf_oneof:"range_item"` }
RangeItem is either a single number or a Range.
type RangeItem_Range ¶
type RangeItem_Range struct {
Range *Range `protobuf:"bytes,2,opt,name=range,oneof"`
}
type RangeItem_Single ¶
type RangeItem_Single struct {
Single uint32 `protobuf:"varint,1,opt,name=single,oneof"`
}
type Result ¶
type Result struct { Success bool `protobuf:"varint,1,opt,name=success" json:"success,omitempty"` Value int64 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` }
Result is the jobsim distributor result object used for executions.
type ReturnStage ¶
type ReturnStage struct { Retval int64 `protobuf:"varint,1,opt,name=retval" json:"retval,omitempty"` Expiration *google_protobuf.Timestamp `protobuf:"bytes,2,opt,name=expiration" json:"expiration,omitempty"` }
ReturnStage indicates that the Phrase should return the numerical value 'retval' as the result of the current Phrase. If expiration is provided, it will set that as the expiration timestamp for the provided retval.
func (*ReturnStage) Descriptor ¶
func (*ReturnStage) Descriptor() ([]byte, []int)
func (*ReturnStage) GetExpiration ¶
func (m *ReturnStage) GetExpiration() *google_protobuf.Timestamp
func (*ReturnStage) GetRetval ¶
func (m *ReturnStage) GetRetval() int64
func (*ReturnStage) ProtoMessage ¶
func (*ReturnStage) ProtoMessage()
func (*ReturnStage) Reset ¶
func (m *ReturnStage) Reset()
func (*ReturnStage) String ¶
func (m *ReturnStage) String() string
type SparseRange ¶
type SparseRange struct {
Items []*RangeItem `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"`
}
SparseRange allows the expression of mixed partial ranges like [1,3-10,19,21].
func (*SparseRange) Descriptor ¶
func (*SparseRange) Descriptor() ([]byte, []int)
func (*SparseRange) GetItems ¶
func (m *SparseRange) GetItems() []*RangeItem
func (*SparseRange) Normalize ¶
func (s *SparseRange) Normalize() error
Normalize checks SparseRange for errors and converts it to its normalized form.
func (*SparseRange) ProtoMessage ¶
func (*SparseRange) ProtoMessage()
func (*SparseRange) Reset ¶
func (m *SparseRange) Reset()
func (*SparseRange) String ¶
func (m *SparseRange) String() string
func (*SparseRange) ToSlice ¶
func (s *SparseRange) ToSlice() (ret []uint32)
ToSlice returns this SparseRange as an expanded slice of uint32s.
type Stage ¶
type Stage struct { // Types that are valid to be assigned to StageType: // *Stage_Failure // *Stage_Stall // *Stage_Deps StageType isStage_StageType `protobuf_oneof:"stage_type"` }
Stage is the union of the following stage types:
- FailureStage
- StallStage
- DepsStage
func (*Stage) GetFailure ¶
func (m *Stage) GetFailure() *FailureStage
func (*Stage) GetStall ¶
func (m *Stage) GetStall() *StallStage
func (*Stage) Normalize ¶
Normalize checks Stage for errors and converts it to its normalized form.
type Stage_Deps ¶
type Stage_Deps struct {
Deps *DepsStage `protobuf:"bytes,3,opt,name=deps,oneof"`
}
type Stage_Failure ¶
type Stage_Failure struct {
Failure *FailureStage `protobuf:"bytes,1,opt,name=failure,oneof"`
}
type Stage_Stall ¶
type Stage_Stall struct {
Stall *StallStage `protobuf:"bytes,2,opt,name=stall,oneof"`
}
type StallStage ¶
type StallStage struct {
Delay *google_protobuf1.Duration `protobuf:"bytes,1,opt,name=delay" json:"delay,omitempty"`
}
StallStage delays the phrase for the provided Duration. This could be used to simulate long-running tasks (like builds).
func (*StallStage) Descriptor ¶
func (*StallStage) Descriptor() ([]byte, []int)
func (*StallStage) GetDelay ¶
func (m *StallStage) GetDelay() *google_protobuf1.Duration
func (*StallStage) Normalize ¶
func (s *StallStage) Normalize() error
Normalize checks StallStage for errors and converts it to its normalized form.
func (*StallStage) ProtoMessage ¶
func (*StallStage) ProtoMessage()
func (*StallStage) Reset ¶
func (m *StallStage) Reset()
func (*StallStage) String ¶
func (m *StallStage) String() string