Back to godoc.org

Package dm

v0.0.0-...-1557bcf
Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module: github.com/luci/luci-go

Index

Constants

const (
	// DefaultLimitMaxDataSize is the default MaxDataSize value (16MB).
	DefaultLimitMaxDataSize = 16 * 1024 * 1024

	// MaxLimitMaxDataSize is the maximum MaxDataSize value (30MB).
	MaxLimitMaxDataSize = 30 * 1024 * 1024
)
const JSONNonNormalizedSizeFactor = 0.1

JSONNonNormalizedSizeFactor is the excess multiple of JSONObjectMaxLength that a non-normalized json object must be smaller than. Otherwise we won't attempt to normalize it at all.

const JSONObjectMaxLength = 256 * 1024

JSONObjectMaxLength is the maximum number of bytes that may be present in the Object field of a normalized JSONObject.

const MinimumActivationTokenLength = 32

MinimumActivationTokenLength is the minimum number of bytes in an appropriate ExecutionToken.

const QuestDescPayloadMaxLength = 256 * 1024

QuestDescPayloadMaxLength is the maximum length (in bytes) of an un-normalized Quest payload.

Variables

var AbnormalFinish_Status_name = map[int32]string{
	0: "INVALID",
	1: "FAILED",
	2: "CRASHED",
	3: "EXPIRED",
	4: "TIMED_OUT",
	5: "CANCELLED",
	6: "REJECTED",
	7: "MISSING",
	8: "RESULT_MALFORMED",
}
var AbnormalFinish_Status_value = map[string]int32{
	"INVALID":          0,
	"FAILED":           1,
	"CRASHED":          2,
	"EXPIRED":          3,
	"TIMED_OUT":        4,
	"CANCELLED":        5,
	"REJECTED":         6,
	"MISSING":          7,
	"RESULT_MALFORMED": 8,
}
var Attempt_Partial_Result_name = map[int32]string{
	0: "LOADED",
	1: "NOT_LOADED",
	2: "NOT_AUTHORIZED",
	3: "DATA_SIZE_LIMIT",
}
var Attempt_Partial_Result_value = map[string]int32{
	"LOADED":          0,
	"NOT_LOADED":      1,
	"NOT_AUTHORIZED":  2,
	"DATA_SIZE_LIMIT": 3,
}
var Attempt_State_name = map[int32]string{
	0: "SCHEDULING",
	1: "EXECUTING",
	2: "WAITING",
	3: "FINISHED",
	4: "ABNORMAL_FINISHED",
}
var Attempt_State_value = map[string]int32{
	"SCHEDULING":        0,
	"EXECUTING":         1,
	"WAITING":           2,
	"FINISHED":          3,
	"ABNORMAL_FINISHED": 4,
}
var Execution_State_name = map[int32]string{
	0: "SCHEDULING",
	1: "RUNNING",
	2: "STOPPING",
	3: "FINISHED",
	4: "ABNORMAL_FINISHED",
}
var Execution_State_value = map[string]int32{
	"SCHEDULING":        0,
	"RUNNING":           1,
	"STOPPING":          2,
	"FINISHED":          3,
	"ABNORMAL_FINISHED": 4,
}
var GraphQuery_Search_Domain_name = map[int32]string{
	0: "QUEST",
	1: "ATTEMPT",
}
var GraphQuery_Search_Domain_value = map[string]int32{
	"QUEST":   0,
	"ATTEMPT": 1,
}
var (
	// QuestIDLength is the number of encoded bytes to use. It removes the
	// single padding character.
	QuestIDLength = base64.URLEncoding.EncodedLen(sha256.Size) - 1
)
var WalkGraphReq_Mode_Direction_name = map[int32]string{
	0: "FORWARDS",
	1: "BACKWARDS",
	2: "BOTH",
}
var WalkGraphReq_Mode_Direction_value = map[string]int32{
	"FORWARDS":  0,
	"BACKWARDS": 1,
	"BOTH":      2,
}

func FileDescriptorSet

func FileDescriptorSet() *descriptor.FileDescriptorSet

FileDescriptorSet returns a descriptor set for this proto package, which includes all defined services, and all transitive dependencies.

Will not return nil.

Do NOT modify the returned descriptor.

func RegisterDepsServer

func RegisterDepsServer(s prpc.Registrar, srv DepsServer)

type AbnormalFinish

type AbnormalFinish struct {
	Status               AbnormalFinish_Status `protobuf:"varint,1,opt,name=status,proto3,enum=dm.AbnormalFinish_Status" json:"status,omitempty"`
	Reason               string                `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (*AbnormalFinish) Descriptor

func (*AbnormalFinish) Descriptor() ([]byte, []int)

func (*AbnormalFinish) FromProperty

func (p *AbnormalFinish) FromProperty(prop datastore.Property) error

FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'AbnormalFinish' when used with the "go.chromium.org/gae" library.

func (*AbnormalFinish) GetReason

func (m *AbnormalFinish) GetReason() string

func (*AbnormalFinish) GetStatus

func (m *AbnormalFinish) GetStatus() AbnormalFinish_Status

func (*AbnormalFinish) ProtoMessage

func (*AbnormalFinish) ProtoMessage()

func (*AbnormalFinish) Reset

func (m *AbnormalFinish) Reset()

func (*AbnormalFinish) String

func (m *AbnormalFinish) String() string

func (*AbnormalFinish) ToProperty

func (p *AbnormalFinish) ToProperty() (prop datastore.Property, err error)

ToProperty implements datastore.PropertyConverter. It causes an embedded 'AbnormalFinish' to serialize to an unindexed '[]byte' when used with the "go.chromium.org/gae" library.

func (*AbnormalFinish) XXX_DiscardUnknown

func (m *AbnormalFinish) XXX_DiscardUnknown()

func (*AbnormalFinish) XXX_Marshal

func (m *AbnormalFinish) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AbnormalFinish) XXX_Merge

func (m *AbnormalFinish) XXX_Merge(src proto.Message)

func (*AbnormalFinish) XXX_Size

func (m *AbnormalFinish) XXX_Size() int

func (*AbnormalFinish) XXX_Unmarshal

func (m *AbnormalFinish) XXX_Unmarshal(b []byte) error

type AbnormalFinish_Status

type AbnormalFinish_Status int32
const (
	// This status is invalid and should not be used intentionally.
	//
	// It is a placeholder to identify 0-initialized AbnormalFinish structures.
	AbnormalFinish_INVALID AbnormalFinish_Status = 0
	// This entity has a failed result.
	//
	// Executions: the distributor reported that the task executed and failed, OR
	// the distributor reports success while the Execution is in the RUNNING
	// state.
	//
	// Attempts: the last Execution had a FAILED Status.
	//
	// Retryable.
	AbnormalFinish_FAILED AbnormalFinish_Status = 1
	// This entity failed in a bad way.
	//
	// Executions: The distributor told us that the job died violently while in
	// the SCHEDULING, RUNNING or STOPPING state.
	//
	// Attempts: the last Execution had a CRASHED Status.
	//
	// Retryable.
	AbnormalFinish_CRASHED AbnormalFinish_Status = 2
	// Waited too long for the job to start.
	//
	// Executions: the distributor couldn't start the job in time, OR DM failed
	// to get a status update from the distributor in time (e.g. the state was
	// SCHEDULING for too long).
	//
	// Attempts: the last Execution had an EXPIRED Status.
	//
	// Retryable.
	AbnormalFinish_EXPIRED AbnormalFinish_Status = 3
	// The job started, but took too long.
	//
	// Executions: the distributor started the job, but it couldn't complete in
	// time, OR DM failed to get a status update from the distributor in time
	// (e.g. the state was RUNNING for too long).
	//
	// Attempts: the last Execution had an TIMED_OUT Status.
	//
	// Retryable.
	AbnormalFinish_TIMED_OUT AbnormalFinish_Status = 4
	// The job was cancelled by an external entity (human, automated system).
	//
	// Executions: the distributor informing DM that the job was preemptively
	// cancelled.
	//
	// Attempts: the last Execution had a CANCELLED Status, or this Attempt
	// was cancelled via DM.
	AbnormalFinish_CANCELLED AbnormalFinish_Status = 5
	// The job was prevented from running by the distributor (quota, permissions,
	// etc.)
	//
	// Executions: the distributor refused to run this job.
	//
	// Attempts: the last Execution had a REJECTED Status.
	AbnormalFinish_REJECTED AbnormalFinish_Status = 6
	// The job is unrecognized.
	//
	// Executions: the distributor doesn't know about this job, or has forgotten
	// about it.
	//
	// Attempts: the last Execution had a MISSING Status.
	AbnormalFinish_MISSING AbnormalFinish_Status = 7
	// The distributor ran the job, but returned garbage.
	//
	// Executions: the distributor returned a nominally successful result, but
	// the Data portion of the result wasn't able to be normalized.
	//
	// Attempts: the last Execution had a RESULT_MALFORMED Status.
	AbnormalFinish_RESULT_MALFORMED AbnormalFinish_Status = 8
)

func (AbnormalFinish_Status) CouldRetry

func (s AbnormalFinish_Status) CouldRetry() bool

CouldRetry returns true iff this status code is retryable.

func (AbnormalFinish_Status) EnumDescriptor

func (AbnormalFinish_Status) EnumDescriptor() ([]byte, []int)

func (AbnormalFinish_Status) String

func (x AbnormalFinish_Status) String() string

type ActivateExecutionReq

type ActivateExecutionReq struct {
	// Auth is the Execution_Auth containing the Activation Token, as provided
	// to the distributor when the Execution was created.
	Auth *Execution_Auth `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"`
	// ExecutionToken should be randomly generated by the machine running the
	// execution, or by the distributor service such that if two racing Executions
	// both attempt to Activate with the same ExecutionID and ActivationToken, the
	// ExecutionToken will (probably) be different for them so that only one will
	// win.
	ExecutionToken       []byte   `protobuf:"bytes,2,opt,name=execution_token,json=executionToken,proto3" json:"execution_token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ActivateExecutionReq allows a currently-running Execution to activate itself. Doing this allows DM to know that the Execution has started, and also enables the Execution to access other APIs like WalkGraph, AddDeps, and FinishAttempt.

ActivateExecution must be called with the ExecutionID and Activation token that DM provided when the Execution was started with the distributor.

If the Execution has not been activated, the Execution will be marked as 'activating' and this will return an OK code. At this point, your client may use the ExecutionToken with any RPCs that have an ExecutionAuth field.

This RPC may return:

* OK - The Execution is now activated.
* InvalidArgmument - The request was malformed. Retrying will not help.
* PermissionDenied - The provided activation token was incorrect.
  Retrying will not help.
* AlreadyExists - The activation token was correct, but some other entity
  already activated this Execution. The client should cease operations.
  Retrying will not help.

All other errors should be retried with the exact same ActivateExecutionReq data.

func (*ActivateExecutionReq) Descriptor

func (*ActivateExecutionReq) Descriptor() ([]byte, []int)

func (*ActivateExecutionReq) GetAuth

func (m *ActivateExecutionReq) GetAuth() *Execution_Auth

func (*ActivateExecutionReq) GetExecutionToken

func (m *ActivateExecutionReq) GetExecutionToken() []byte

func (*ActivateExecutionReq) Normalize

func (a *ActivateExecutionReq) Normalize() error

Normalize returns an error iff the ActivateExecutionReq has bad form (nils, insufficient activation token length, etc.

func (*ActivateExecutionReq) ProtoMessage

func (*ActivateExecutionReq) ProtoMessage()

func (*ActivateExecutionReq) Reset

func (m *ActivateExecutionReq) Reset()

func (*ActivateExecutionReq) String

func (m *ActivateExecutionReq) String() string

func (*ActivateExecutionReq) XXX_DiscardUnknown

func (m *ActivateExecutionReq) XXX_DiscardUnknown()

func (*ActivateExecutionReq) XXX_Marshal

func (m *ActivateExecutionReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ActivateExecutionReq) XXX_Merge

func (m *ActivateExecutionReq) XXX_Merge(src proto.Message)

func (*ActivateExecutionReq) XXX_Size

func (m *ActivateExecutionReq) XXX_Size() int

func (*ActivateExecutionReq) XXX_Unmarshal

func (m *ActivateExecutionReq) XXX_Unmarshal(b []byte) error

type Attempt

type Attempt struct {
	Id *Attempt_ID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`

	DNE  bool          `protobuf:"varint,2,opt,name=DNE,proto3" json:"DNE,omitempty"`
	Data *Attempt_Data `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`

	Executions map[uint32]*Execution "" /* 162 byte string literal not displayed */
	FwdDeps    *AttemptList          `protobuf:"bytes,5,opt,name=fwd_deps,json=fwdDeps,proto3" json:"fwd_deps,omitempty"`
	BackDeps   *AttemptList          `protobuf:"bytes,6,opt,name=back_deps,json=backDeps,proto3" json:"back_deps,omitempty"`

	Partial              *Attempt_Partial `protobuf:"bytes,16,opt,name=partial,proto3" json:"partial,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func NewAttemptAbnormalFinish

func NewAttemptAbnormalFinish(af *AbnormalFinish) *Attempt

NewAttemptAbnormalFinish creates an Attempt in the ABNORMAL_FINISH state.

func NewAttemptExecuting

func NewAttemptExecuting(curExID uint32) *Attempt

NewAttemptExecuting creates an Attempt in the EXECUTING state.

func NewAttemptFinished

func NewAttemptFinished(result *JsonResult) *Attempt

NewAttemptFinished creates an Attempt in the FINISHED state.

func NewAttemptScheduling

func NewAttemptScheduling() *Attempt

NewAttemptScheduling creates an Attempt in the SCHEDULING state.

func NewAttemptWaiting

func NewAttemptWaiting(numWaiting uint32) *Attempt

NewAttemptWaiting creates an Attempt in the WAITING state.

func (*Attempt) Descriptor

func (*Attempt) Descriptor() ([]byte, []int)

func (*Attempt) GetBackDeps

func (m *Attempt) GetBackDeps() *AttemptList

func (*Attempt) GetDNE

func (m *Attempt) GetDNE() bool

func (*Attempt) GetData

func (m *Attempt) GetData() *Attempt_Data

func (*Attempt) GetExecutions

func (m *Attempt) GetExecutions() map[uint32]*Execution

func (*Attempt) GetFwdDeps

func (m *Attempt) GetFwdDeps() *AttemptList

func (*Attempt) GetId

func (m *Attempt) GetId() *Attempt_ID

func (*Attempt) GetPartial

func (m *Attempt) GetPartial() *Attempt_Partial

func (*Attempt) NormalizePartial

func (d *Attempt) NormalizePartial()

NormalizePartial will nil out the Partial field for this Attempt if all Partial fields are false.

func (*Attempt) ProtoMessage

func (*Attempt) ProtoMessage()

func (*Attempt) PurgeTimestamps

func (a *Attempt) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Attempt) Reset

func (m *Attempt) Reset()

func (*Attempt) String

func (m *Attempt) String() string

func (*Attempt) UpdateWith

func (a *Attempt) UpdateWith(other *Attempt)

UpdateWith updates this Attempt with data from other.

func (*Attempt) XXX_DiscardUnknown

func (m *Attempt) XXX_DiscardUnknown()

func (*Attempt) XXX_Marshal

func (m *Attempt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attempt) XXX_Merge

func (m *Attempt) XXX_Merge(src proto.Message)

func (*Attempt) XXX_Size

func (m *Attempt) XXX_Size() int

func (*Attempt) XXX_Unmarshal

func (m *Attempt) XXX_Unmarshal(b []byte) error

type AttemptList

type AttemptList struct {
	To                   map[string]*AttemptList_Nums "" /* 145 byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
	XXX_unrecognized     []byte                       `json:"-"`
	XXX_sizecache        int32                        `json:"-"`
}

AttemptList is logically a listing of unique attempts, which has a compact representation in the common scenario of listing multiple attempts of the same quest(s).

func NewAttemptList

func NewAttemptList(data map[string][]uint32) *AttemptList

NewAttemptList is a convenience method for making a normalized *AttemptList with a pre-normalized literal map of quest -> attempt nums.

If the provided data is invalid, this method will panic.

func (*AttemptList) AddAIDs

func (a *AttemptList) AddAIDs(aids ...*Attempt_ID)

AddAIDs adds the given Attempt_ID to the AttemptList

func (*AttemptList) Descriptor

func (*AttemptList) Descriptor() ([]byte, []int)

func (*AttemptList) Dup

func (a *AttemptList) Dup() *AttemptList

Dup does a deep copy of this AttemptList.

func (*AttemptList) GetTo

func (m *AttemptList) GetTo() map[string]*AttemptList_Nums

func (*AttemptList) Normalize

func (a *AttemptList) Normalize() error

Normalize sorts and uniq's attempt nums

func (*AttemptList) ProtoMessage

func (*AttemptList) ProtoMessage()

func (*AttemptList) Reset

func (m *AttemptList) Reset()

func (*AttemptList) String

func (m *AttemptList) String() string

func (*AttemptList) UpdateWith

func (a *AttemptList) UpdateWith(o *AttemptList)

UpdateWith updates this AttemptList with all the entries in the other AttemptList.

func (*AttemptList) XXX_DiscardUnknown

func (m *AttemptList) XXX_DiscardUnknown()

func (*AttemptList) XXX_Marshal

func (m *AttemptList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AttemptList) XXX_Merge

func (m *AttemptList) XXX_Merge(src proto.Message)

func (*AttemptList) XXX_Size

func (m *AttemptList) XXX_Size() int

func (*AttemptList) XXX_Unmarshal

func (m *AttemptList) XXX_Unmarshal(b []byte) error

type AttemptList_Nums

type AttemptList_Nums struct {
	Nums                 []uint32 `protobuf:"varint,1,rep,packed,name=nums,proto3" json:"nums,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*AttemptList_Nums) Descriptor

func (*AttemptList_Nums) Descriptor() ([]byte, []int)

func (*AttemptList_Nums) GetNums

func (m *AttemptList_Nums) GetNums() []uint32

func (*AttemptList_Nums) Normalize

func (a *AttemptList_Nums) Normalize() error

Normalize sorts and uniq's attempt nums. If Nums equals [0], [] or nil, it implies all attempts for the quest and will be normalized to nil.

It is an error for Nums to contain 0 as well as other numbers.

func (*AttemptList_Nums) ProtoMessage

func (*AttemptList_Nums) ProtoMessage()

func (*AttemptList_Nums) Reset

func (m *AttemptList_Nums) Reset()

func (*AttemptList_Nums) String

func (m *AttemptList_Nums) String() string

func (*AttemptList_Nums) XXX_DiscardUnknown

func (m *AttemptList_Nums) XXX_DiscardUnknown()

func (*AttemptList_Nums) XXX_Marshal

func (m *AttemptList_Nums) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AttemptList_Nums) XXX_Merge

func (m *AttemptList_Nums) XXX_Merge(src proto.Message)

func (*AttemptList_Nums) XXX_Size

func (m *AttemptList_Nums) XXX_Size() int

func (*AttemptList_Nums) XXX_Unmarshal

func (m *AttemptList_Nums) XXX_Unmarshal(b []byte) error

type Attempt_Data

type Attempt_Data struct {
	Created       *timestamp.Timestamp `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"`
	Modified      *timestamp.Timestamp `protobuf:"bytes,2,opt,name=modified,proto3" json:"modified,omitempty"`
	NumExecutions uint32               `protobuf:"varint,3,opt,name=num_executions,json=numExecutions,proto3" json:"num_executions,omitempty"`
	// Types that are valid to be assigned to AttemptType:
	//	*Attempt_Data_Scheduling_
	//	*Attempt_Data_Executing_
	//	*Attempt_Data_Waiting_
	//	*Attempt_Data_Finished_
	//	*Attempt_Data_AbnormalFinish
	AttemptType          isAttempt_Data_AttemptType `protobuf_oneof:"attempt_type"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (*Attempt_Data) Descriptor

func (*Attempt_Data) Descriptor() ([]byte, []int)

func (*Attempt_Data) GetAbnormalFinish

func (m *Attempt_Data) GetAbnormalFinish() *AbnormalFinish

func (*Attempt_Data) GetAttemptType

func (m *Attempt_Data) GetAttemptType() isAttempt_Data_AttemptType

func (*Attempt_Data) GetCreated

func (m *Attempt_Data) GetCreated() *timestamp.Timestamp

func (*Attempt_Data) GetExecuting

func (m *Attempt_Data) GetExecuting() *Attempt_Data_Executing

func (*Attempt_Data) GetFinished

func (m *Attempt_Data) GetFinished() *Attempt_Data_Finished

func (*Attempt_Data) GetModified

func (m *Attempt_Data) GetModified() *timestamp.Timestamp

func (*Attempt_Data) GetNumExecutions

func (m *Attempt_Data) GetNumExecutions() uint32

func (*Attempt_Data) GetScheduling

func (m *Attempt_Data) GetScheduling() *Attempt_Data_Scheduling

func (*Attempt_Data) GetWaiting

func (m *Attempt_Data) GetWaiting() *Attempt_Data_Waiting

func (*Attempt_Data) ProtoMessage

func (*Attempt_Data) ProtoMessage()

func (*Attempt_Data) PurgeTimestamps

func (ad *Attempt_Data) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Attempt_Data) Reset

func (m *Attempt_Data) Reset()

func (*Attempt_Data) State

func (d *Attempt_Data) State() Attempt_State

State computes the Attempt_State for the current Attempt_Data

func (*Attempt_Data) String

func (m *Attempt_Data) String() string

func (*Attempt_Data) UpdateWith

func (a *Attempt_Data) UpdateWith(other *Attempt_Data)

UpdateWith updates this Attempt_Data with data from other.

func (*Attempt_Data) XXX_DiscardUnknown

func (m *Attempt_Data) XXX_DiscardUnknown()

func (*Attempt_Data) XXX_Marshal

func (m *Attempt_Data) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attempt_Data) XXX_Merge

func (m *Attempt_Data) XXX_Merge(src proto.Message)

func (*Attempt_Data) XXX_OneofWrappers

func (*Attempt_Data) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Attempt_Data) XXX_Size

func (m *Attempt_Data) XXX_Size() int

func (*Attempt_Data) XXX_Unmarshal

func (m *Attempt_Data) XXX_Unmarshal(b []byte) error

type Attempt_Data_AbnormalFinish

type Attempt_Data_AbnormalFinish struct {
	AbnormalFinish *AbnormalFinish `protobuf:"bytes,9,opt,name=abnormal_finish,json=abnormalFinish,proto3,oneof"`
}

type Attempt_Data_Executing

type Attempt_Data_Executing struct {
	CurExecutionId       uint32   `protobuf:"varint,1,opt,name=cur_execution_id,json=curExecutionId,proto3" json:"cur_execution_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

This attempt has a live Execution (with the specified ID). Check the Execution state for more information.

func (*Attempt_Data_Executing) Descriptor

func (*Attempt_Data_Executing) Descriptor() ([]byte, []int)

func (*Attempt_Data_Executing) GetCurExecutionId

func (m *Attempt_Data_Executing) GetCurExecutionId() uint32

func (*Attempt_Data_Executing) ProtoMessage

func (*Attempt_Data_Executing) ProtoMessage()

func (*Attempt_Data_Executing) Reset

func (m *Attempt_Data_Executing) Reset()

func (*Attempt_Data_Executing) String

func (m *Attempt_Data_Executing) String() string

func (*Attempt_Data_Executing) XXX_DiscardUnknown

func (m *Attempt_Data_Executing) XXX_DiscardUnknown()

func (*Attempt_Data_Executing) XXX_Marshal

func (m *Attempt_Data_Executing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attempt_Data_Executing) XXX_Merge

func (m *Attempt_Data_Executing) XXX_Merge(src proto.Message)

func (*Attempt_Data_Executing) XXX_Size

func (m *Attempt_Data_Executing) XXX_Size() int

func (*Attempt_Data_Executing) XXX_Unmarshal

func (m *Attempt_Data_Executing) XXX_Unmarshal(b []byte) error

type Attempt_Data_Executing_

type Attempt_Data_Executing_ struct {
	Executing *Attempt_Data_Executing `protobuf:"bytes,6,opt,name=executing,proto3,oneof"`
}

type Attempt_Data_Finished

type Attempt_Data_Finished struct {
	// The result of the Attempt. To obtain the distributor specific result
	// for the last execution, make sure to include at least one Execution in
	// your query.
	//
	// Only if `include.attempt.data == true`, will the response include
	// data.object.
	Data                 *JsonResult `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

This attempt is complete.

func (*Attempt_Data_Finished) Descriptor

func (*Attempt_Data_Finished) Descriptor() ([]byte, []int)

func (*Attempt_Data_Finished) GetData

func (m *Attempt_Data_Finished) GetData() *JsonResult

func (*Attempt_Data_Finished) ProtoMessage

func (*Attempt_Data_Finished) ProtoMessage()

func (*Attempt_Data_Finished) Reset

func (m *Attempt_Data_Finished) Reset()

func (*Attempt_Data_Finished) String

func (m *Attempt_Data_Finished) String() string

func (*Attempt_Data_Finished) XXX_DiscardUnknown

func (m *Attempt_Data_Finished) XXX_DiscardUnknown()

func (*Attempt_Data_Finished) XXX_Marshal

func (m *Attempt_Data_Finished) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attempt_Data_Finished) XXX_Merge

func (m *Attempt_Data_Finished) XXX_Merge(src proto.Message)

func (*Attempt_Data_Finished) XXX_Size

func (m *Attempt_Data_Finished) XXX_Size() int

func (*Attempt_Data_Finished) XXX_Unmarshal

func (m *Attempt_Data_Finished) XXX_Unmarshal(b []byte) error

type Attempt_Data_Finished_

type Attempt_Data_Finished_ struct {
	Finished *Attempt_Data_Finished `protobuf:"bytes,8,opt,name=finished,proto3,oneof"`
}

func (*Attempt_Data_Finished_) PurgeTimestamps

func (f *Attempt_Data_Finished_) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

type Attempt_Data_Scheduling

type Attempt_Data_Scheduling struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

This attempt is ready to be Executed, but hasn't been sent to the distributor yet.

func (*Attempt_Data_Scheduling) Descriptor

func (*Attempt_Data_Scheduling) Descriptor() ([]byte, []int)

func (*Attempt_Data_Scheduling) ProtoMessage

func (*Attempt_Data_Scheduling) ProtoMessage()

func (*Attempt_Data_Scheduling) Reset

func (m *Attempt_Data_Scheduling) Reset()

func (*Attempt_Data_Scheduling) String

func (m *Attempt_Data_Scheduling) String() string

func (*Attempt_Data_Scheduling) XXX_DiscardUnknown

func (m *Attempt_Data_Scheduling) XXX_DiscardUnknown()

func (*Attempt_Data_Scheduling) XXX_Marshal

func (m *Attempt_Data_Scheduling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attempt_Data_Scheduling) XXX_Merge

func (m *Attempt_Data_Scheduling) XXX_Merge(src proto.Message)

func (*Attempt_Data_Scheduling) XXX_Size

func (m *Attempt_Data_Scheduling) XXX_Size() int

func (*Attempt_Data_Scheduling) XXX_Unmarshal

func (m *Attempt_Data_Scheduling) XXX_Unmarshal(b []byte) error

type Attempt_Data_Scheduling_

type Attempt_Data_Scheduling_ struct {
	Scheduling *Attempt_Data_Scheduling `protobuf:"bytes,5,opt,name=scheduling,proto3,oneof"`
}

type Attempt_Data_Waiting

type Attempt_Data_Waiting struct {
	NumWaiting           uint32   `protobuf:"varint,1,opt,name=num_waiting,json=numWaiting,proto3" json:"num_waiting,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

This attempt's last Execution stopped by adding dependencies.

func (*Attempt_Data_Waiting) Descriptor

func (*Attempt_Data_Waiting) Descriptor() ([]byte, []int)

func (*Attempt_Data_Waiting) GetNumWaiting

func (m *Attempt_Data_Waiting) GetNumWaiting() uint32

func (*Attempt_Data_Waiting) ProtoMessage

func (*Attempt_Data_Waiting) ProtoMessage()

func (*Attempt_Data_Waiting) Reset

func (m *Attempt_Data_Waiting) Reset()

func (*Attempt_Data_Waiting) String

func (m *Attempt_Data_Waiting) String() string

func (*Attempt_Data_Waiting) XXX_DiscardUnknown

func (m *Attempt_Data_Waiting) XXX_DiscardUnknown()

func (*Attempt_Data_Waiting) XXX_Marshal

func (m *Attempt_Data_Waiting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attempt_Data_Waiting) XXX_Merge

func (m *Attempt_Data_Waiting) XXX_Merge(src proto.Message)

func (*Attempt_Data_Waiting) XXX_Size

func (m *Attempt_Data_Waiting) XXX_Size() int

func (*Attempt_Data_Waiting) XXX_Unmarshal

func (m *Attempt_Data_Waiting) XXX_Unmarshal(b []byte) error

type Attempt_Data_Waiting_

type Attempt_Data_Waiting_ struct {
	Waiting *Attempt_Data_Waiting `protobuf:"bytes,7,opt,name=waiting,proto3,oneof"`
}

type Attempt_ID

type Attempt_ID struct {
	Quest                string   `protobuf:"bytes,1,opt,name=quest,proto3" json:"quest,omitempty"`
	Id                   uint32   `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func NewAttemptID

func NewAttemptID(qst string, aid uint32) *Attempt_ID

NewAttemptID is a shorthand to New a new *Attempt_ID

func (*Attempt_ID) DMEncoded

func (a *Attempt_ID) DMEncoded() string

DMEncoded returns the encoded string id for this Attempt. Numeric values are inverted if flip is true.

func (*Attempt_ID) Descriptor

func (*Attempt_ID) Descriptor() ([]byte, []int)

func (*Attempt_ID) Equals

func (a *Attempt_ID) Equals(o *Attempt_ID) bool

Equals returns true iff the two Attempt_IDs are equivalent.

func (*Attempt_ID) Execution

func (a *Attempt_ID) Execution(eid uint32) *Execution_ID

Execution returns an Execution_ID for this Attempt.

func (*Attempt_ID) FromProperty

func (a *Attempt_ID) FromProperty(p datastore.Property) error

FromProperty implements datastore.PropertyConverter

func (*Attempt_ID) GetId

func (m *Attempt_ID) GetId() uint32

func (*Attempt_ID) GetQuest

func (m *Attempt_ID) GetQuest() string

func (*Attempt_ID) ProtoMessage

func (*Attempt_ID) ProtoMessage()

func (*Attempt_ID) QuestID

func (a *Attempt_ID) QuestID() *Quest_ID

QuestID is a helper function to obtain the *Quest_ID from this Attempt_ID.

func (*Attempt_ID) Reset

func (m *Attempt_ID) Reset()

func (*Attempt_ID) SetDMEncoded

func (a *Attempt_ID) SetDMEncoded(val string) error

SetDMEncoded decodes val into this Attempt_ID, returning an error if there's a problem. Numeric values are inverted if flip is true.

func (*Attempt_ID) String

func (m *Attempt_ID) String() string

func (*Attempt_ID) ToProperty

func (a *Attempt_ID) ToProperty() (datastore.Property, error)

ToProperty implements datastore.PropertyConverter for the purpose of embedding this Attempt_ID as the ID of a luci/gae compatible datastore object. The numerical id field is stored as an inverted, hex-encoded string, so that Attempt_ID{"quest", 1} would encode as "quest|fffffffe". This is done so that the __key__ ordering in the dm application prefers to order the most recent attempts first.

The go representation will always have the normal non-flipped numerical id.

func (*Attempt_ID) XXX_DiscardUnknown

func (m *Attempt_ID) XXX_DiscardUnknown()

func (*Attempt_ID) XXX_Marshal

func (m *Attempt_ID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attempt_ID) XXX_Merge

func (m *Attempt_ID) XXX_Merge(src proto.Message)

func (*Attempt_ID) XXX_Size

func (m *Attempt_ID) XXX_Size() int

func (*Attempt_ID) XXX_Unmarshal

func (m *Attempt_ID) XXX_Unmarshal(b []byte) error

type Attempt_Partial

type Attempt_Partial struct {
	// Data is true iff the AttemptData should have been filled, but wasn't
	Data bool `protobuf:"varint,1,opt,name=data,proto3" json:"data,omitempty"`
	// Executions is true iff the Executions were requested, but not all of
	// them could be loaded.
	Executions bool `protobuf:"varint,2,opt,name=executions,proto3" json:"executions,omitempty"`
	// FwdDeps is true iff FwdDeps were requested, but not all of them could be
	// loaded.
	FwdDeps bool `protobuf:"varint,3,opt,name=fwd_deps,json=fwdDeps,proto3" json:"fwd_deps,omitempty"`
	// BackDeps is true iff BackDeps were requested, but not all of them could be
	// loaded.
	BackDeps bool `protobuf:"varint,4,opt,name=back_deps,json=backDeps,proto3" json:"back_deps,omitempty"`
	// result is set if AttemptResults were requested, and the attempt_type is
	// Finished, but for some reason the result but wasn't loaded.
	Result               Attempt_Partial_Result `protobuf:"varint,5,opt,name=result,proto3,enum=dm.Attempt_Partial_Result" json:"result,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (*Attempt_Partial) Any

func (p *Attempt_Partial) Any() bool

Any returns true iff any of the Partial fields are true such that they could be successfully loaded on a subsequent query.

func (*Attempt_Partial) Descriptor

func (*Attempt_Partial) Descriptor() ([]byte, []int)

func (*Attempt_Partial) GetBackDeps

func (m *Attempt_Partial) GetBackDeps() bool

func (*Attempt_Partial) GetData

func (m *Attempt_Partial) GetData() bool

func (*Attempt_Partial) GetExecutions

func (m *Attempt_Partial) GetExecutions() bool

func (*Attempt_Partial) GetFwdDeps

func (m *Attempt_Partial) GetFwdDeps() bool

func (*Attempt_Partial) GetResult

func (m *Attempt_Partial) GetResult() Attempt_Partial_Result

func (*Attempt_Partial) ProtoMessage

func (*Attempt_Partial) ProtoMessage()

func (*Attempt_Partial) Reset

func (m *Attempt_Partial) Reset()

func (*Attempt_Partial) String

func (m *Attempt_Partial) String() string

func (*Attempt_Partial) XXX_DiscardUnknown

func (m *Attempt_Partial) XXX_DiscardUnknown()

func (*Attempt_Partial) XXX_Marshal

func (m *Attempt_Partial) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Attempt_Partial) XXX_Merge

func (m *Attempt_Partial) XXX_Merge(src proto.Message)

func (*Attempt_Partial) XXX_Size

func (m *Attempt_Partial) XXX_Size() int

func (*Attempt_Partial) XXX_Unmarshal

func (m *Attempt_Partial) XXX_Unmarshal(b []byte) error

type Attempt_Partial_Result

type Attempt_Partial_Result int32
const (
	// LOADED implies that the result was, in fact, loaded.
	Attempt_Partial_LOADED Attempt_Partial_Result = 0
	// NOT_LOADED is set if the result failed to load because there was
	// a transient error or the request ran out of time.
	Attempt_Partial_NOT_LOADED Attempt_Partial_Result = 1
	// NOT_AUTHORIZED is set if the query was authenticated from an Execution
	// whose Attempt doesn't depend on this one.
	Attempt_Partial_NOT_AUTHORIZED Attempt_Partial_Result = 2
	// DATA_SIZE_LIMIT is set if the max_data_size limit was reached.
	Attempt_Partial_DATA_SIZE_LIMIT Attempt_Partial_Result = 3
)

func (Attempt_Partial_Result) EnumDescriptor

func (Attempt_Partial_Result) EnumDescriptor() ([]byte, []int)

func (Attempt_Partial_Result) String

func (x Attempt_Partial_Result) String() string

type Attempt_State

type Attempt_State int32
const (
	// The Attempt is waiting to be Executed.
	Attempt_SCHEDULING Attempt_State = 0
	// The Attempt is currently waiting for its current Execution to finish.
	Attempt_EXECUTING Attempt_State = 1
	// The Attempt is waiting for dependent Attempts to be resolved.
	Attempt_WAITING Attempt_State = 2
	// The Attempt is in its final state.
	Attempt_FINISHED Attempt_State = 3
	// The Attempt is in an abnormal final state.
	Attempt_ABNORMAL_FINISHED Attempt_State = 4
)

func (Attempt_State) EnumDescriptor

func (Attempt_State) EnumDescriptor() ([]byte, []int)

func (*Attempt_State) Evolve

func (s *Attempt_State) Evolve(newState Attempt_State) error

Evolve attempts to evolve the state of this Attempt. If the state evolution is not allowed (e.g. invalid state transition), this returns an error.

func (*Attempt_State) MustEvolve

func (s *Attempt_State) MustEvolve(newState Attempt_State)

MustEvolve is a panic'ing version of Evolve.

func (Attempt_State) String

func (x Attempt_State) String() string

func (Attempt_State) Terminal

func (s Attempt_State) Terminal() bool

Terminal returns true iff there are no valid evolutions from the current state.

type DecoratedDeps

type DecoratedDeps struct {
	// Service is the service to decorate.
	Service DepsServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedDeps) ActivateExecution

func (s *DecoratedDeps) ActivateExecution(ctx context.Context, req *ActivateExecutionReq) (rsp *empty.Empty, err error)

func (*DecoratedDeps) EnsureGraphData

func (s *DecoratedDeps) EnsureGraphData(ctx context.Context, req *EnsureGraphDataReq) (rsp *EnsureGraphDataRsp, err error)

func (*DecoratedDeps) FinishAttempt

func (s *DecoratedDeps) FinishAttempt(ctx context.Context, req *FinishAttemptReq) (rsp *empty.Empty, err error)

func (*DecoratedDeps) WalkGraph

func (s *DecoratedDeps) WalkGraph(ctx context.Context, req *WalkGraphReq) (rsp *GraphData, err error)

type DepsClient

type DepsClient interface {
	// allows you to add additional data to the current dependency graph.
	EnsureGraphData(ctx context.Context, in *EnsureGraphDataReq, opts ...grpc.CallOption) (*EnsureGraphDataRsp, error)
	// is called by Execution clients to activate themselves with DM.
	ActivateExecution(ctx context.Context, in *ActivateExecutionReq, opts ...grpc.CallOption) (*empty.Empty, error)
	// is called by Execution clients to indicate that an Attempt is finished.
	FinishAttempt(ctx context.Context, in *FinishAttemptReq, opts ...grpc.CallOption) (*empty.Empty, error)
	// runs queries, and walks along the dependency graph from the query results.
	WalkGraph(ctx context.Context, in *WalkGraphReq, opts ...grpc.CallOption) (*GraphData, error)
}

DepsClient is the client API for Deps service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewDepsClient

func NewDepsClient(cc grpc.ClientConnInterface) DepsClient

func NewDepsPRPCClient

func NewDepsPRPCClient(client *prpc.Client) DepsClient

type DepsServer

type DepsServer interface {
	// allows you to add additional data to the current dependency graph.
	EnsureGraphData(context.Context, *EnsureGraphDataReq) (*EnsureGraphDataRsp, error)
	// is called by Execution clients to activate themselves with DM.
	ActivateExecution(context.Context, *ActivateExecutionReq) (*empty.Empty, error)
	// is called by Execution clients to indicate that an Attempt is finished.
	FinishAttempt(context.Context, *FinishAttemptReq) (*empty.Empty, error)
	// runs queries, and walks along the dependency graph from the query results.
	WalkGraph(context.Context, *WalkGraphReq) (*GraphData, error)
}

DepsServer is the server API for Deps service.

type EnsureGraphDataReq

type EnsureGraphDataReq struct {
	// Quest is a list of quest descriptors. DM will ensure that the
	// corresponding Quests exist. If they don't, they'll be created.
	Quest []*Quest_Desc `protobuf:"bytes,1,rep,name=quest,proto3" json:"quest,omitempty"`
	// QuestAttempt allows the addition of attempts which are derived from
	// the quest bodies provided above.
	// Each entry here maps 1:1 with the equivalent quest.
	QuestAttempt []*AttemptList_Nums `protobuf:"bytes,2,rep,name=quest_attempt,json=questAttempt,proto3" json:"quest_attempt,omitempty"`
	// TemplateQuest allows the addition of quests which are derived from
	// Templates, as defined on a per-project basis.
	TemplateQuest []*TemplateInstantiation `protobuf:"bytes,3,rep,name=template_quest,json=templateQuest,proto3" json:"template_quest,omitempty"`
	// TemplateAttempt allows the addition of attempts which are derived from
	// Templates. This must be equal in length to template_quest.
	// Each entry here maps 1:1 with the equivalent quest in template_quest.
	TemplateAttempt []*AttemptList_Nums `protobuf:"bytes,4,rep,name=template_attempt,json=templateAttempt,proto3" json:"template_attempt,omitempty"`
	// RawAttempts is a list that asserts that the following attempts should
	// exist. The quest ids in this list must be already-known to DM, NOT
	// included in the quest field above. This is useful when you know the ID of
	// the Quest, but not the actual definition of the quest.
	RawAttempts *AttemptList `protobuf:"bytes,5,opt,name=raw_attempts,json=rawAttempts,proto3" json:"raw_attempts,omitempty"`
	// ForExecution is an authentication pair (Execution_ID, Token).
	//
	// If this is provided then it will serve as authorization for the creation of
	// any `quests` included, and any `attempts` indicated will be set as
	// dependencies for the execution.
	//
	// If this omitted, then the request requires some user/bot authentication,
	// and any quests/attempts provided will be made standalone (e.g. nothing will
	// depend on them).
	ForExecution         *Execution_Auth             `protobuf:"bytes,6,opt,name=for_execution,json=forExecution,proto3" json:"for_execution,omitempty"`
	Limit                *EnsureGraphDataReq_Limit   `protobuf:"bytes,7,opt,name=limit,proto3" json:"limit,omitempty"`
	Include              *EnsureGraphDataReq_Include `protobuf:"bytes,8,opt,name=include,proto3" json:"include,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

EnsureGraphDataReq allows you to assert the existence of Attempts in DM's graph, and allows you to declare dependencies from one Attempt to another.

You can declare Attempts by any combination of:

* Providing a quest description plus a list of Attempt numbers for that
  quest.
* Providing a template instantiation (for a project-declared quest
  template) plus a list of Attempt numbers for that quest.
* Providing a raw set of quest_id -> attempt numbers for quests that you
  already know that DM has a definition for.

In response, DM will tell you what the IDs of all supplied Quests/Attempts are.

To create a dependencies, call this method while running as part of an execution by filling the for_execution field. All attempts named as described above will become dependencies for the indicated execution. It is only possible for a currently-running execution to create dependencies for its own Attempt. In particular, it is not possible to create dependencies as a non-execution user (e.g. a human), nor is it possible for an execution to create attempts on behalf of some other execution.

If the attempts were being created as dependencies, and were already in the Finished state, this request can also opt to include the AttemptResults directly.

func (*EnsureGraphDataReq) Descriptor

func (*EnsureGraphDataReq) Descriptor() ([]byte, []int)

func (*EnsureGraphDataReq) GetForExecution

func (m *EnsureGraphDataReq) GetForExecution() *Execution_Auth

func (*EnsureGraphDataReq) GetInclude

func (m *EnsureGraphDataReq) GetInclude() *EnsureGraphDataReq_Include

func (*EnsureGraphDataReq) GetLimit

func (m *EnsureGraphDataReq) GetLimit() *EnsureGraphDataReq_Limit

func (*EnsureGraphDataReq) GetQuest

func (m *EnsureGraphDataReq) GetQuest() []*Quest_Desc

func (*EnsureGraphDataReq) GetQuestAttempt

func (m *EnsureGraphDataReq) GetQuestAttempt() []*AttemptList_Nums

func (*EnsureGraphDataReq) GetRawAttempts

func (m *EnsureGraphDataReq) GetRawAttempts() *AttemptList

func (*EnsureGraphDataReq) GetTemplateAttempt

func (m *EnsureGraphDataReq) GetTemplateAttempt() []*AttemptList_Nums

func (*EnsureGraphDataReq) GetTemplateQuest

func (m *EnsureGraphDataReq) GetTemplateQuest() []*TemplateInstantiation

func (*EnsureGraphDataReq) Normalize

func (r *EnsureGraphDataReq) Normalize() error

Normalize returns an error iff the request is invalid.

func (*EnsureGraphDataReq) ProtoMessage

func (*EnsureGraphDataReq) ProtoMessage()

func (*EnsureGraphDataReq) Reset

func (m *EnsureGraphDataReq) Reset()

func (*EnsureGraphDataReq) String

func (m *EnsureGraphDataReq) String() string

func (*EnsureGraphDataReq) XXX_DiscardUnknown

func (m *EnsureGraphDataReq) XXX_DiscardUnknown()

func (*EnsureGraphDataReq) XXX_Marshal

func (m *EnsureGraphDataReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnsureGraphDataReq) XXX_Merge

func (m *EnsureGraphDataReq) XXX_Merge(src proto.Message)

func (*EnsureGraphDataReq) XXX_Size

func (m *EnsureGraphDataReq) XXX_Size() int

func (*EnsureGraphDataReq) XXX_Unmarshal

func (m *EnsureGraphDataReq) XXX_Unmarshal(b []byte) error

type EnsureGraphDataReq_Include

type EnsureGraphDataReq_Include struct {
	Attempt              *EnsureGraphDataReq_Include_Options `protobuf:"bytes,4,opt,name=attempt,proto3" json:"attempt,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
	XXX_unrecognized     []byte                              `json:"-"`
	XXX_sizecache        int32                               `json:"-"`
}

func (*EnsureGraphDataReq_Include) Descriptor

func (*EnsureGraphDataReq_Include) Descriptor() ([]byte, []int)

func (*EnsureGraphDataReq_Include) GetAttempt

func (m *EnsureGraphDataReq_Include) GetAttempt() *EnsureGraphDataReq_Include_Options

func (*EnsureGraphDataReq_Include) ProtoMessage

func (*EnsureGraphDataReq_Include) ProtoMessage()

func (*EnsureGraphDataReq_Include) Reset

func (m *EnsureGraphDataReq_Include) Reset()

func (*EnsureGraphDataReq_Include) String

func (m *EnsureGraphDataReq_Include) String() string

func (*EnsureGraphDataReq_Include) XXX_DiscardUnknown

func (m *EnsureGraphDataReq_Include) XXX_DiscardUnknown()

func (*EnsureGraphDataReq_Include) XXX_Marshal

func (m *EnsureGraphDataReq_Include) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnsureGraphDataReq_Include) XXX_Merge

func (m *EnsureGraphDataReq_Include) XXX_Merge(src proto.Message)

func (*EnsureGraphDataReq_Include) XXX_Size

func (m *EnsureGraphDataReq_Include) XXX_Size() int

func (*EnsureGraphDataReq_Include) XXX_Unmarshal

func (m *EnsureGraphDataReq_Include) XXX_Unmarshal(b []byte) error

type EnsureGraphDataReq_Include_Options

type EnsureGraphDataReq_Include_Options struct {
	// Instructs finished objects to include the Result field.
	Result               bool     `protobuf:"varint,3,opt,name=result,proto3" json:"result,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*EnsureGraphDataReq_Include_Options) Descriptor

func (*EnsureGraphDataReq_Include_Options) Descriptor() ([]byte, []int)

func (*EnsureGraphDataReq_Include_Options) GetResult

func (m *EnsureGraphDataReq_Include_Options) GetResult() bool

func (*EnsureGraphDataReq_Include_Options) ProtoMessage

func (*EnsureGraphDataReq_Include_Options) ProtoMessage()

func (*EnsureGraphDataReq_Include_Options) Reset

func (m *EnsureGraphDataReq_Include_Options) Reset()

func (*EnsureGraphDataReq_Include_Options) String

func (m *EnsureGraphDataReq_Include_Options) String() string

func (*EnsureGraphDataReq_Include_Options) XXX_DiscardUnknown

func (m *EnsureGraphDataReq_Include_Options) XXX_DiscardUnknown()

func (*EnsureGraphDataReq_Include_Options) XXX_Marshal

func (m *EnsureGraphDataReq_Include_Options) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnsureGraphDataReq_Include_Options) XXX_Merge

func (m *EnsureGraphDataReq_Include_Options) XXX_Merge(src proto.Message)

func (*EnsureGraphDataReq_Include_Options) XXX_Size

func (m *EnsureGraphDataReq_Include_Options) XXX_Size() int

func (*EnsureGraphDataReq_Include_Options) XXX_Unmarshal

func (m *EnsureGraphDataReq_Include_Options) XXX_Unmarshal(b []byte) error

type EnsureGraphDataReq_Limit

type EnsureGraphDataReq_Limit struct {
	// MaxDataSize sets the maximum amount of 'Data' (in bytes) that can be
	// returned, if include.attempt_result is set. If this limit is hit, then
	// the appropriate 'partial' value will be set for that object, but the base
	// object would still be included in the result.
	//
	// If this limit is 0, a default limit of 16MB will be used. If this limit
	// exceeds 30MB, it will be reduced to 30MB.
	MaxDataSize          uint32   `protobuf:"varint,3,opt,name=max_data_size,json=maxDataSize,proto3" json:"max_data_size,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*EnsureGraphDataReq_Limit) Descriptor

func (*EnsureGraphDataReq_Limit) Descriptor() ([]byte, []int)

func (*EnsureGraphDataReq_Limit) GetMaxDataSize

func (m *EnsureGraphDataReq_Limit) GetMaxDataSize() uint32

func (*EnsureGraphDataReq_Limit) ProtoMessage

func (*EnsureGraphDataReq_Limit) ProtoMessage()

func (*EnsureGraphDataReq_Limit) Reset

func (m *EnsureGraphDataReq_Limit) Reset()

func (*EnsureGraphDataReq_Limit) String

func (m *EnsureGraphDataReq_Limit) String() string

func (*EnsureGraphDataReq_Limit) XXX_DiscardUnknown

func (m *EnsureGraphDataReq_Limit) XXX_DiscardUnknown()

func (*EnsureGraphDataReq_Limit) XXX_Marshal

func (m *EnsureGraphDataReq_Limit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnsureGraphDataReq_Limit) XXX_Merge

func (m *EnsureGraphDataReq_Limit) XXX_Merge(src proto.Message)

func (*EnsureGraphDataReq_Limit) XXX_Size

func (m *EnsureGraphDataReq_Limit) XXX_Size() int

func (*EnsureGraphDataReq_Limit) XXX_Unmarshal

func (m *EnsureGraphDataReq_Limit) XXX_Unmarshal(b []byte) error

type EnsureGraphDataRsp

type EnsureGraphDataRsp struct {
	// accepted is true when all new graph data was journaled successfully. This
	// means that `quests`, `attempts`, `template_quest`, `template_attempt` were
	// all well-formed and are scheduled to be added. They will 'eventually' be
	// readable via other APIs (like WalkGraph), but when they are, they'll have
	// the IDs reflected in this response.
	//
	// If `attempts` referrs to quests that don't exist and weren't provided in
	// `quests`, those quests will be listed in `result` with the DNE flag set.
	//
	// If `template_quest` had errors (missing template, bad params, etc.), the
	// errors will be located in `template_error`. If all of the templates parsed
	// successfully, the quest ids for those rendered `template_quest` will be in
	// `template_ids`.
	Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"`
	// quest_ids will be populated with the Quest.IDs of any quests defined
	// by quest in the initial request. Its length is guaranteed to match
	// the length of quest, if there were no errors.
	QuestIds []*Quest_ID `protobuf:"bytes,2,rep,name=quest_ids,json=questIds,proto3" json:"quest_ids,omitempty"`
	// template_ids will be populated with the Quest.IDs of any templates defined
	// by template_quest in the initial request. Its length is guaranteed to match
	// the length of template_quest, if there were no errors.
	TemplateIds []*Quest_ID `protobuf:"bytes,3,rep,name=template_ids,json=templateIds,proto3" json:"template_ids,omitempty"`
	// template_error is either empty if there were no template errors, or the
	// length of template_quest. Non-empty strings are errors.
	TemplateError []string `protobuf:"bytes,4,rep,name=template_error,json=templateError,proto3" json:"template_error,omitempty"`
	// result holds the graph data pertaining to the request, containing any
	// graph state that already existed at the time of the call. Any new data
	// that was added to the graph state (accepted==true) will appear with
	// `DNE==true`.
	//
	// Quest data will always be returned for any Quests which exist.
	//
	// If accepted==false, you can inspect this to determine why:
	//   * Quests (without data) mentioned by the `attempts` field that do not
	//     exist will have `DNE==true`.
	//
	// This also can be used to make adding dependencies a stateless
	// single-request action:
	//   * Attempts requested (assuming the corresponding Quest exists) will
	//     contain their current state. If Include.AttemptResult was true, the
	//     results will be populated (with the size limit mentioned in the request
	//     documentation).
	Result *GraphData `protobuf:"bytes,5,opt,name=result,proto3" json:"result,omitempty"`
	// (if `for_execution` was specified) ShouldHalt indicates that the request
	// was accepted by DM, and the execution should halt (DM will re-execute the
	// Attempt when it becomes unblocked). If this is true, then the execution's
	// auth Token is also revoked and will no longer work for futher API calls.
	//
	// If `for_execution` was provided in the request and this is false, it means
	// that the execution may continue executing.
	ShouldHalt           bool     `protobuf:"varint,6,opt,name=should_halt,json=shouldHalt,proto3" json:"should_halt,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*EnsureGraphDataRsp) Descriptor

func (*EnsureGraphDataRsp) Descriptor() ([]byte, []int)

func (*EnsureGraphDataRsp) GetAccepted

func (m *EnsureGraphDataRsp) GetAccepted() bool

func (*EnsureGraphDataRsp) GetQuestIds

func (m *EnsureGraphDataRsp) GetQuestIds() []*Quest_ID

func (*EnsureGraphDataRsp) GetResult

func (m *EnsureGraphDataRsp) GetResult() *GraphData

func (*EnsureGraphDataRsp) GetShouldHalt

func (m *EnsureGraphDataRsp) GetShouldHalt() bool

func (*EnsureGraphDataRsp) GetTemplateError

func (m *EnsureGraphDataRsp) GetTemplateError() []string

func (*EnsureGraphDataRsp) GetTemplateIds

func (m *EnsureGraphDataRsp) GetTemplateIds() []*Quest_ID

func (*EnsureGraphDataRsp) ProtoMessage

func (*EnsureGraphDataRsp) ProtoMessage()

func (*EnsureGraphDataRsp) Reset

func (m *EnsureGraphDataRsp) Reset()

func (*EnsureGraphDataRsp) String

func (m *EnsureGraphDataRsp) String() string

func (*EnsureGraphDataRsp) XXX_DiscardUnknown

func (m *EnsureGraphDataRsp) XXX_DiscardUnknown()

func (*EnsureGraphDataRsp) XXX_Marshal

func (m *EnsureGraphDataRsp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnsureGraphDataRsp) XXX_Merge

func (m *EnsureGraphDataRsp) XXX_Merge(src proto.Message)

func (*EnsureGraphDataRsp) XXX_Size

func (m *EnsureGraphDataRsp) XXX_Size() int

func (*EnsureGraphDataRsp) XXX_Unmarshal

func (m *EnsureGraphDataRsp) XXX_Unmarshal(b []byte) error

type Execution

type Execution struct {
	Id   *Execution_ID   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Data *Execution_Data `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// Partial is true iff the request asked for Executions, but wasn't able to
	// completely fill them.
	Partial              bool     `protobuf:"varint,16,opt,name=partial,proto3" json:"partial,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func NewExecutionAbnormalFinish

func NewExecutionAbnormalFinish(af *AbnormalFinish) *Execution

NewExecutionAbnormalFinish creates an Execution in the ABNORMAL_FINISH state.

func NewExecutionFinished

func NewExecutionFinished(result *JsonResult) *Execution

NewExecutionFinished creates an Execution in the FINISHED state.

func NewExecutionRunning

func NewExecutionRunning() *Execution

NewExecutionRunning creates an Execution in the RUNNING state.

func NewExecutionScheduling

func NewExecutionScheduling() *Execution

NewExecutionScheduling creates an Execution in the SCHEDULING state.

func NewExecutionStopping

func NewExecutionStopping() *Execution

NewExecutionStopping creates an Execution in the STOPPING state.

func (*Execution) Descriptor

func (*Execution) Descriptor() ([]byte, []int)

func (*Execution) GetData

func (m *Execution) GetData() *Execution_Data

func (*Execution) GetId

func (m *Execution) GetId() *Execution_ID

func (*Execution) GetPartial

func (m *Execution) GetPartial() bool

func (*Execution) ProtoMessage

func (*Execution) ProtoMessage()

func (*Execution) PurgeTimestamps

func (e *Execution) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Execution) Reset

func (m *Execution) Reset()

func (*Execution) String

func (m *Execution) String() string

func (*Execution) UpdateWith

func (e *Execution) UpdateWith(other *Execution)

UpdateWith updates this Execution with data from other.

func (*Execution) XXX_DiscardUnknown

func (m *Execution) XXX_DiscardUnknown()

func (*Execution) XXX_Marshal

func (m *Execution) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution) XXX_Merge

func (m *Execution) XXX_Merge(src proto.Message)

func (*Execution) XXX_Size

func (m *Execution) XXX_Size() int

func (*Execution) XXX_Unmarshal

func (m *Execution) XXX_Unmarshal(b []byte) error

type Execution_Auth

type Execution_Auth struct {
	Id                   *Execution_ID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Token                []byte        `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Execution_Auth is a tuple of the requesting ExecutionID and the activated Execution Token (see the ActivateExecution rpc).

func (*Execution_Auth) Descriptor

func (*Execution_Auth) Descriptor() ([]byte, []int)

func (*Execution_Auth) FromProperty

func (p *Execution_Auth) FromProperty(prop datastore.Property) error

FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'Execution_Auth' when used with the "go.chromium.org/gae" library.

func (*Execution_Auth) GetId

func (m *Execution_Auth) GetId() *Execution_ID

func (*Execution_Auth) GetToken

func (m *Execution_Auth) GetToken() []byte

func (*Execution_Auth) Normalize

func (a *Execution_Auth) Normalize() error

Normalize returns an error iff the Execution_Auth has invalid form (e.g. contains nils).

func (*Execution_Auth) ProtoMessage

func (*Execution_Auth) ProtoMessage()

func (*Execution_Auth) Reset

func (m *Execution_Auth) Reset()

func (*Execution_Auth) String

func (m *Execution_Auth) String() string

func (*Execution_Auth) ToProperty

func (p *Execution_Auth) ToProperty() (prop datastore.Property, err error)

ToProperty implements datastore.PropertyConverter. It causes an embedded 'Execution_Auth' to serialize to an unindexed '[]byte' when used with the "go.chromium.org/gae" library.

func (*Execution_Auth) XXX_DiscardUnknown

func (m *Execution_Auth) XXX_DiscardUnknown()

func (*Execution_Auth) XXX_Marshal

func (m *Execution_Auth) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution_Auth) XXX_Merge

func (m *Execution_Auth) XXX_Merge(src proto.Message)

func (*Execution_Auth) XXX_Size

func (m *Execution_Auth) XXX_Size() int

func (*Execution_Auth) XXX_Unmarshal

func (m *Execution_Auth) XXX_Unmarshal(b []byte) error

type Execution_Data

type Execution_Data struct {
	Created         *timestamp.Timestamp            `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"`
	Modified        *timestamp.Timestamp            `protobuf:"bytes,2,opt,name=modified,proto3" json:"modified,omitempty"`
	DistributorInfo *Execution_Data_DistributorInfo `protobuf:"bytes,3,opt,name=distributor_info,json=distributorInfo,proto3" json:"distributor_info,omitempty"`
	// Types that are valid to be assigned to ExecutionType:
	//	*Execution_Data_Scheduling_
	//	*Execution_Data_Running_
	//	*Execution_Data_Stopping_
	//	*Execution_Data_Finished_
	//	*Execution_Data_AbnormalFinish
	ExecutionType        isExecution_Data_ExecutionType `protobuf_oneof:"execution_type"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

func (*Execution_Data) Descriptor

func (*Execution_Data) Descriptor() ([]byte, []int)

func (*Execution_Data) GetAbnormalFinish

func (m *Execution_Data) GetAbnormalFinish() *AbnormalFinish

func (*Execution_Data) GetCreated

func (m *Execution_Data) GetCreated() *timestamp.Timestamp

func (*Execution_Data) GetDistributorInfo

func (m *Execution_Data) GetDistributorInfo() *Execution_Data_DistributorInfo

func (*Execution_Data) GetExecutionType

func (m *Execution_Data) GetExecutionType() isExecution_Data_ExecutionType

func (*Execution_Data) GetFinished

func (m *Execution_Data) GetFinished() *Execution_Data_Finished

func (*Execution_Data) GetModified

func (m *Execution_Data) GetModified() *timestamp.Timestamp

func (*Execution_Data) GetRunning

func (m *Execution_Data) GetRunning() *Execution_Data_Running

func (*Execution_Data) GetScheduling

func (m *Execution_Data) GetScheduling() *Execution_Data_Scheduling

func (*Execution_Data) GetStopping

func (m *Execution_Data) GetStopping() *Execution_Data_Stopping

func (*Execution_Data) ProtoMessage

func (*Execution_Data) ProtoMessage()

func (*Execution_Data) PurgeTimestamps

func (ed *Execution_Data) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Execution_Data) Reset

func (m *Execution_Data) Reset()

func (*Execution_Data) State

func (d *Execution_Data) State() Execution_State

State computes the Execution_State for the current Execution_Data

func (*Execution_Data) String

func (m *Execution_Data) String() string

func (*Execution_Data) UpdateWith

func (e *Execution_Data) UpdateWith(other *Execution_Data)

UpdateWith updates this Execution_Data with data from other.

func (*Execution_Data) XXX_DiscardUnknown

func (m *Execution_Data) XXX_DiscardUnknown()

func (*Execution_Data) XXX_Marshal

func (m *Execution_Data) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution_Data) XXX_Merge

func (m *Execution_Data) XXX_Merge(src proto.Message)

func (*Execution_Data) XXX_OneofWrappers

func (*Execution_Data) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Execution_Data) XXX_Size

func (m *Execution_Data) XXX_Size() int

func (*Execution_Data) XXX_Unmarshal

func (m *Execution_Data) XXX_Unmarshal(b []byte) error

type Execution_Data_AbnormalFinish

type Execution_Data_AbnormalFinish struct {
	AbnormalFinish *AbnormalFinish `protobuf:"bytes,8,opt,name=abnormal_finish,json=abnormalFinish,proto3,oneof"`
}

type Execution_Data_DistributorInfo

type Execution_Data_DistributorInfo struct {
	ConfigName           string   `protobuf:"bytes,1,opt,name=config_name,json=configName,proto3" json:"config_name,omitempty"`
	ConfigVersion        string   `protobuf:"bytes,2,opt,name=config_version,json=configVersion,proto3" json:"config_version,omitempty"`
	Token                string   `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"`
	Url                  string   `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Execution_Data_DistributorInfo) Descriptor

func (*Execution_Data_DistributorInfo) Descriptor() ([]byte, []int)

func (*Execution_Data_DistributorInfo) GetConfigName

func (m *Execution_Data_DistributorInfo) GetConfigName() string

func (*Execution_Data_DistributorInfo) GetConfigVersion

func (m *Execution_Data_DistributorInfo) GetConfigVersion() string

func (*Execution_Data_DistributorInfo) GetToken

func (m *Execution_Data_DistributorInfo) GetToken() string

func (*Execution_Data_DistributorInfo) GetUrl

func (m *Execution_Data_DistributorInfo) GetUrl() string

func (*Execution_Data_DistributorInfo) ProtoMessage

func (*Execution_Data_DistributorInfo) ProtoMessage()

func (*Execution_Data_DistributorInfo) Reset

func (m *Execution_Data_DistributorInfo) Reset()

func (*Execution_Data_DistributorInfo) String

func (m *Execution_Data_DistributorInfo) String() string

func (*Execution_Data_DistributorInfo) XXX_DiscardUnknown

func (m *Execution_Data_DistributorInfo) XXX_DiscardUnknown()

func (*Execution_Data_DistributorInfo) XXX_Marshal

func (m *Execution_Data_DistributorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution_Data_DistributorInfo) XXX_Merge

func (m *Execution_Data_DistributorInfo) XXX_Merge(src proto.Message)

func (*Execution_Data_DistributorInfo) XXX_Size

func (m *Execution_Data_DistributorInfo) XXX_Size() int

func (*Execution_Data_DistributorInfo) XXX_Unmarshal

func (m *Execution_Data_DistributorInfo) XXX_Unmarshal(b []byte) error

type Execution_Data_Finished

type Execution_Data_Finished struct {
	Data                 *JsonResult `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*Execution_Data_Finished) Descriptor

func (*Execution_Data_Finished) Descriptor() ([]byte, []int)

func (*Execution_Data_Finished) GetData

func (m *Execution_Data_Finished) GetData() *JsonResult

func (*Execution_Data_Finished) ProtoMessage

func (*Execution_Data_Finished) ProtoMessage()

func (*Execution_Data_Finished) Reset

func (m *Execution_Data_Finished) Reset()

func (*Execution_Data_Finished) String

func (m *Execution_Data_Finished) String() string

func (*Execution_Data_Finished) XXX_DiscardUnknown

func (m *Execution_Data_Finished) XXX_DiscardUnknown()

func (*Execution_Data_Finished) XXX_Marshal

func (m *Execution_Data_Finished) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution_Data_Finished) XXX_Merge

func (m *Execution_Data_Finished) XXX_Merge(src proto.Message)

func (*Execution_Data_Finished) XXX_Size

func (m *Execution_Data_Finished) XXX_Size() int

func (*Execution_Data_Finished) XXX_Unmarshal

func (m *Execution_Data_Finished) XXX_Unmarshal(b []byte) error

type Execution_Data_Finished_

type Execution_Data_Finished_ struct {
	Finished *Execution_Data_Finished `protobuf:"bytes,7,opt,name=finished,proto3,oneof"`
}

type Execution_Data_Running

type Execution_Data_Running struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Execution_Data_Running) Descriptor

func (*Execution_Data_Running) Descriptor() ([]byte, []int)

func (*Execution_Data_Running) ProtoMessage

func (*Execution_Data_Running) ProtoMessage()

func (*Execution_Data_Running) Reset

func (m *Execution_Data_Running) Reset()

func (*Execution_Data_Running) String

func (m *Execution_Data_Running) String() string

func (*Execution_Data_Running) XXX_DiscardUnknown

func (m *Execution_Data_Running) XXX_DiscardUnknown()

func (*Execution_Data_Running) XXX_Marshal

func (m *Execution_Data_Running) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution_Data_Running) XXX_Merge

func (m *Execution_Data_Running) XXX_Merge(src proto.Message)

func (*Execution_Data_Running) XXX_Size

func (m *Execution_Data_Running) XXX_Size() int

func (*Execution_Data_Running) XXX_Unmarshal

func (m *Execution_Data_Running) XXX_Unmarshal(b []byte) error

type Execution_Data_Running_

type Execution_Data_Running_ struct {
	Running *Execution_Data_Running `protobuf:"bytes,5,opt,name=running,proto3,oneof"`
}

type Execution_Data_Scheduling

type Execution_Data_Scheduling struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Execution_Data_Scheduling) Descriptor

func (*Execution_Data_Scheduling) Descriptor() ([]byte, []int)

func (*Execution_Data_Scheduling) ProtoMessage

func (*Execution_Data_Scheduling) ProtoMessage()

func (*Execution_Data_Scheduling) Reset

func (m *Execution_Data_Scheduling) Reset()

func (*Execution_Data_Scheduling) String

func (m *Execution_Data_Scheduling) String() string

func (*Execution_Data_Scheduling) XXX_DiscardUnknown

func (m *Execution_Data_Scheduling) XXX_DiscardUnknown()

func (*Execution_Data_Scheduling) XXX_Marshal

func (m *Execution_Data_Scheduling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution_Data_Scheduling) XXX_Merge

func (m *Execution_Data_Scheduling) XXX_Merge(src proto.Message)

func (*Execution_Data_Scheduling) XXX_Size

func (m *Execution_Data_Scheduling) XXX_Size() int

func (*Execution_Data_Scheduling) XXX_Unmarshal

func (m *Execution_Data_Scheduling) XXX_Unmarshal(b []byte) error

type Execution_Data_Scheduling_

type Execution_Data_Scheduling_ struct {
	Scheduling *Execution_Data_Scheduling `protobuf:"bytes,4,opt,name=scheduling,proto3,oneof"`
}

type Execution_Data_Stopping

type Execution_Data_Stopping struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Execution_Data_Stopping) Descriptor

func (*Execution_Data_Stopping) Descriptor() ([]byte, []int)

func (*Execution_Data_Stopping) ProtoMessage

func (*Execution_Data_Stopping) ProtoMessage()

func (*Execution_Data_Stopping) Reset

func (m *Execution_Data_Stopping) Reset()

func (*Execution_Data_Stopping) String

func (m *Execution_Data_Stopping) String() string

func (*Execution_Data_Stopping) XXX_DiscardUnknown

func (m *Execution_Data_Stopping) XXX_DiscardUnknown()

func (*Execution_Data_Stopping) XXX_Marshal

func (m *Execution_Data_Stopping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution_Data_Stopping) XXX_Merge

func (m *Execution_Data_Stopping) XXX_Merge(src proto.Message)

func (*Execution_Data_Stopping) XXX_Size

func (m *Execution_Data_Stopping) XXX_Size() int

func (*Execution_Data_Stopping) XXX_Unmarshal

func (m *Execution_Data_Stopping) XXX_Unmarshal(b []byte) error

type Execution_Data_Stopping_

type Execution_Data_Stopping_ struct {
	Stopping *Execution_Data_Stopping `protobuf:"bytes,6,opt,name=stopping,proto3,oneof"`
}

type Execution_ID

type Execution_ID struct {
	Quest                string   `protobuf:"bytes,1,opt,name=quest,proto3" json:"quest,omitempty"`
	Attempt              uint32   `protobuf:"varint,2,opt,name=attempt,proto3" json:"attempt,omitempty"`
	Id                   uint32   `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func NewExecutionID

func NewExecutionID(qst string, aid, eid uint32) *Execution_ID

NewExecutionID is a shorthand to New a new *Execution_ID

func (*Execution_ID) AttemptID

func (e *Execution_ID) AttemptID() *Attempt_ID

AttemptID is a helper function to obtain the *Attempt_ID from this Execution_ID.

func (*Execution_ID) Descriptor

func (*Execution_ID) Descriptor() ([]byte, []int)

func (*Execution_ID) Equals

func (e *Execution_ID) Equals(o *Execution_ID) bool

Equals returns true iff the two Execution_IDs are equivalent.

func (*Execution_ID) GetAttempt

func (m *Execution_ID) GetAttempt() uint32

func (*Execution_ID) GetId

func (m *Execution_ID) GetId() uint32

func (*Execution_ID) GetQuest

func (m *Execution_ID) GetQuest() string

func (*Execution_ID) ProtoMessage

func (*Execution_ID) ProtoMessage()

func (*Execution_ID) QuestID

func (e *Execution_ID) QuestID() *Quest_ID

QuestID is a helper function to obtain the *Quest_ID from this Execution_ID.

func (*Execution_ID) Reset

func (m *Execution_ID) Reset()

func (*Execution_ID) String

func (m *Execution_ID) String() string

func (*Execution_ID) XXX_DiscardUnknown

func (m *Execution_ID) XXX_DiscardUnknown()

func (*Execution_ID) XXX_Marshal

func (m *Execution_ID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Execution_ID) XXX_Merge

func (m *Execution_ID) XXX_Merge(src proto.Message)

func (*Execution_ID) XXX_Size

func (m *Execution_ID) XXX_Size() int

func (*Execution_ID) XXX_Unmarshal

func (m *Execution_ID) XXX_Unmarshal(b []byte) error

type Execution_State

type Execution_State int32
const (
	// The execution has been accepted by the distributor, but is not running
	// yet.
	Execution_SCHEDULING Execution_State = 0
	// The execution is running (has activated with DM).
	Execution_RUNNING Execution_State = 1
	// The execution has been told to stop by DM, but we haven't heard from
	// the distributor yet.
	Execution_STOPPING Execution_State = 2
	// The execution is in its final state.
	Execution_FINISHED Execution_State = 3
	// The execution is in an abnormal final state
	Execution_ABNORMAL_FINISHED Execution_State = 4
)

func (Execution_State) EnumDescriptor

func (Execution_State) EnumDescriptor() ([]byte, []int)

func (*Execution_State) Evolve

func (s *Execution_State) Evolve(newState Execution_State) error

Evolve attempts to evolve the state of this Attempt. If the state evolution is not allowed (e.g. invalid state transition), this returns an error.

func (*Execution_State) MustEvolve

func (s *Execution_State) MustEvolve(newState Execution_State)

MustEvolve is a panic'ing version of Evolve.

func (Execution_State) String

func (x Execution_State) String() string

func (Execution_State) Terminal

func (s Execution_State) Terminal() bool

Terminal returns true iff there are no valid evolutions from the current state.

type FinishAttemptReq

type FinishAttemptReq struct {
	// required
	Auth *Execution_Auth `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"`
	// The result data for this Attempt. The `size` field is recalculated after
	// the data field is normalized, and may be omitted.
	Data                 *JsonResult `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

FinishAttemptReq sets the final result of an Attempt.

func (*FinishAttemptReq) Descriptor

func (*FinishAttemptReq) Descriptor() ([]byte, []int)

func (*FinishAttemptReq) GetAuth

func (m *FinishAttemptReq) GetAuth() *Execution_Auth

func (*FinishAttemptReq) GetData

func (m *FinishAttemptReq) GetData() *JsonResult

func (*FinishAttemptReq) Normalize

func (a *FinishAttemptReq) Normalize() error

Normalize returns an error iff the ActivateExecutionReq has bad form (nils, insufficient activation token length, etc.

func (*FinishAttemptReq) ProtoMessage

func (*FinishAttemptReq) ProtoMessage()

func (*FinishAttemptReq) Reset

func (m *FinishAttemptReq) Reset()

func (*FinishAttemptReq) String

func (m *FinishAttemptReq) String() string

func (*FinishAttemptReq) XXX_DiscardUnknown

func (m *FinishAttemptReq) XXX_DiscardUnknown()

func (*FinishAttemptReq) XXX_Marshal

func (m *FinishAttemptReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FinishAttemptReq) XXX_Merge

func (m *FinishAttemptReq) XXX_Merge(src proto.Message)

func (*FinishAttemptReq) XXX_Size

func (m *FinishAttemptReq) XXX_Size() int

func (*FinishAttemptReq) XXX_Unmarshal

func (m *FinishAttemptReq) XXX_Unmarshal(b []byte) error

type GraphData

type GraphData struct {
	Quests map[string]*Quest "" /* 153 byte string literal not displayed */

	HadErrors bool `protobuf:"varint,2,opt,name=had_errors,json=hadErrors,proto3" json:"had_errors,omitempty"`

	HadMore              bool     `protobuf:"varint,3,opt,name=had_more,json=hadMore,proto3" json:"had_more,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

GraphData defines all of the DM graph data that may be returned from DM.

Currently only WalkGraph returns GraphData, but in the future other APIs will explore the graph in other ways, and they'll return this same data structure.

The design of this message is intended to allow clients to easily accumulate various GraphData from different sources in order to maintain an in-memory cache of data that exists in DM, where that data is discovered across multiple RPCs.

func (*GraphData) Descriptor

func (*GraphData) Descriptor() ([]byte, []int)

func (*GraphData) GetHadErrors

func (m *GraphData) GetHadErrors() bool

func (*GraphData) GetHadMore

func (m *GraphData) GetHadMore() bool

func (*GraphData) GetQuest

func (g *GraphData) GetQuest(qid string) (*Quest, bool)

GetQuest gets the specified quest from GraphData, if it's already there. If it's not, then a new Quest will be created, added, and returned.

If the Quests map is uninitialized, this will initialize it.

func (*GraphData) GetQuests

func (m *GraphData) GetQuests() map[string]*Quest

func (*GraphData) ProtoMessage

func (*GraphData) ProtoMessage()

func (*GraphData) PurgeTimestamps

func (g *GraphData) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*GraphData) Reset

func (m *GraphData) Reset()

func (*GraphData) String

func (m *GraphData) String() string

func (*GraphData) ToQuery

func (g *GraphData) ToQuery() (ret *GraphQuery)

ToQuery generates a new GraphQuery.

This generates a GraphQuery that queries for any Attempts which are marked as Partial in the current GraphData.

func (*GraphData) UpdateWith

func (g *GraphData) UpdateWith(other *GraphData)

UpdateWith updates this GraphData with all of the data contained in other. Assumes that any mutable data in other is more up-to-date than the data in g.

func (*GraphData) XXX_DiscardUnknown

func (m *GraphData) XXX_DiscardUnknown()

func (*GraphData) XXX_Marshal

func (m *GraphData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GraphData) XXX_Merge

func (m *GraphData) XXX_Merge(src proto.Message)

func (*GraphData) XXX_Size

func (m *GraphData) XXX_Size() int

func (*GraphData) XXX_Unmarshal

func (m *GraphData) XXX_Unmarshal(b []byte) error

type GraphQuery

type GraphQuery struct {
	// AttemptList allows you to list one or more specific attempts as the result
	// of the query. If a quest contains the attempt number 0, or is empty, it
	// means 'all attempts for this quest'.
	AttemptList *AttemptList `protobuf:"bytes,1,opt,name=attempt_list,json=attemptList,proto3" json:"attempt_list,omitempty"`
	// attempt_range allows you to list a range of attempts in a single quest.
	// low must be > 0, and high must be > low. The range is [low, high). High may
	// be higher than the highest attempt, and low may be lower than the lowest
	// attempt (but not 0).
	AttemptRange         []*GraphQuery_AttemptRange `protobuf:"bytes,2,rep,name=attempt_range,json=attemptRange,proto3" json:"attempt_range,omitempty"`
	Search               []*GraphQuery_Search       `protobuf:"bytes,3,rep,name=search,proto3" json:"search,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

GraphQuery represents a single query into the state of DM's dependency graph. It's a required parameter for WalkGraphReq.

func AttemptListQuery

func AttemptListQuery(fanout *AttemptList) *GraphQuery

AttemptListQuery returns a new GraphQuery for the given AttemptList.

func AttemptListQueryL

func AttemptListQueryL(fanout map[string][]uint32) *GraphQuery

AttemptListQueryL returns a new GraphQuery for the given AttemptList literal.

func AttemptRangeQuery

func AttemptRangeQuery(quest string, low, high uint32) *GraphQuery

AttemptRangeQuery returns a new GraphQuery for the given AttemptRange specification.

func (*GraphQuery) Descriptor

func (*GraphQuery) Descriptor() ([]byte, []int)

func (*GraphQuery) GetAttemptList

func (m *GraphQuery) GetAttemptList() *AttemptList

func (*GraphQuery) GetAttemptRange

func (m *GraphQuery) GetAttemptRange() []*GraphQuery_AttemptRange

func (*GraphQuery) GetSearch

func (m *GraphQuery) GetSearch() []*GraphQuery_Search

func (*GraphQuery) Normalize

func (g *GraphQuery) Normalize() error

Normalize returns an error iff this GraphQuery is not valid.

func (*GraphQuery) ProtoMessage

func (*GraphQuery) ProtoMessage()

func (*GraphQuery) Reset

func (m *GraphQuery) Reset()

func (*GraphQuery) String

func (m *GraphQuery) String() string

func (*GraphQuery) XXX_DiscardUnknown

func (m *GraphQuery) XXX_DiscardUnknown()

func (*GraphQuery) XXX_Marshal

func (m *GraphQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GraphQuery) XXX_Merge

func (m *GraphQuery) XXX_Merge(src proto.Message)

func (*GraphQuery) XXX_Size

func (m *GraphQuery) XXX_Size() int

func (*GraphQuery) XXX_Unmarshal

func (m *GraphQuery) XXX_Unmarshal(b []byte) error

type GraphQuery_AttemptRange

type GraphQuery_AttemptRange struct {
	Quest                string   `protobuf:"bytes,1,opt,name=quest,proto3" json:"quest,omitempty"`
	Low                  uint32   `protobuf:"varint,2,opt,name=low,proto3" json:"low,omitempty"`
	High                 uint32   `protobuf:"varint,3,opt,name=high,proto3" json:"high,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*GraphQuery_AttemptRange) Descriptor

func (*GraphQuery_AttemptRange) Descriptor() ([]byte, []int)

func (*GraphQuery_AttemptRange) GetHigh

func (m *GraphQuery_AttemptRange) GetHigh() uint32

func (*GraphQuery_AttemptRange) GetLow

func (m *GraphQuery_AttemptRange) GetLow() uint32

func (*GraphQuery_AttemptRange) GetQuest

func (m *GraphQuery_AttemptRange) GetQuest() string

func (*GraphQuery_AttemptRange) Normalize

func (al *GraphQuery_AttemptRange) Normalize() error

Normalize returns nil iff this AttemptRange is in a bad state.

func (*GraphQuery_AttemptRange) ProtoMessage

func (*GraphQuery_AttemptRange) ProtoMessage()

func (*GraphQuery_AttemptRange) Reset

func (m *GraphQuery_AttemptRange) Reset()

func (*GraphQuery_AttemptRange) String

func (m *GraphQuery_AttemptRange) String() string

func (*GraphQuery_AttemptRange) XXX_DiscardUnknown

func (m *GraphQuery_AttemptRange) XXX_DiscardUnknown()

func (*GraphQuery_AttemptRange) XXX_Marshal

func (m *GraphQuery_AttemptRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GraphQuery_AttemptRange) XXX_Merge

func (m *GraphQuery_AttemptRange) XXX_Merge(src proto.Message)

func (*GraphQuery_AttemptRange) XXX_Size

func (m *GraphQuery_AttemptRange) XXX_Size() int

func (*GraphQuery_AttemptRange) XXX_Unmarshal

func (m *GraphQuery_AttemptRange) XXX_Unmarshal(b []byte) error
type GraphQuery_Search struct {
	Domain GraphQuery_Search_Domain `protobuf:"varint,1,opt,name=domain,proto3,enum=dm.GraphQuery_Search_Domain" json:"domain,omitempty"`

	Start *PropertyValue `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"`
	End   *PropertyValue `protobuf:"bytes,4,opt,name=end,proto3" json:"end,omitempty"`

	ApproxFilters map[string]*MultiPropertyValue "" /* 188 byte string literal not displayed */

	ExactFilters         map[string]*PropertyValue "" /* 185 byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

A Search allows you to query objects whose properties match all of the provided filters. Filters take the form of a dot-delimited path. For example, say that we had the following objects:

Quest(id=deadbeef):
  created = <timestamp>  #sort
  descriptor.distributor_config_name = "foo"
  descriptor.json_payload = {
    "key": "value",
    "multi": ["some", 10, "values", true],
    "sub": [{"msg": 11}, {"msg": 12}],
  }

Attempt(id=deadbeef|1):
  created = <timestamp>  #sort
  attempt_type = Finished
  finished.expiration = <timestamp>
  finished.json_result = {
    "rslt": "yes",
    "ok": true,
  }

Then you could query (in pseudo-proto):

domain: Attempt
approx_filters: {
  "attempt_type": ["Finished"],
  "$quest.descriptor.json_payload.multi": [true, 10],
  "$quest.descriptor.json_payload.sub.msg": [11, 10],
  "finished.json_result.ok": [true],
}

Or:

domain: Attempt
exact_filters: {
  "$quest.descriptor.json_payload.multi[1]": [10],
  "$quest.descriptor.json_payload.sub[0].msg": [11],
}

Literal '.' and '[' characters may be escaped with a backslash.

func (*GraphQuery_Search) Descriptor

func (*GraphQuery_Search) Descriptor() ([]byte, []int)

func (*GraphQuery_Search) GetApproxFilters

func (m *GraphQuery_Search) GetApproxFilters() map[string]*MultiPropertyValue

func (*GraphQuery_Search) GetDomain

func (m *GraphQuery_Search) GetDomain() GraphQuery_Search_Domain

func (*GraphQuery_Search) GetEnd

func (m *GraphQuery_Search) GetEnd() *PropertyValue

func (*GraphQuery_Search) GetExactFilters

func (m *GraphQuery_Search) GetExactFilters() map[string]*PropertyValue

func (*GraphQuery_Search) GetStart

func (m *GraphQuery_Search) GetStart() *PropertyValue

func (*GraphQuery_Search) Normalize

func (s *GraphQuery_Search) Normalize() error

Normalize returns nil iff this Search is in a bad state.

func (*GraphQuery_Search) ProtoMessage

func (*GraphQuery_Search) ProtoMessage()

func (*GraphQuery_Search) Reset

func (m *GraphQuery_Search) Reset()

func (*GraphQuery_Search) String

func (m *GraphQuery_Search) String() string

func (*GraphQuery_Search) XXX_DiscardUnknown

func (m *GraphQuery_Search) XXX_DiscardUnknown()

func (*GraphQuery_Search) XXX_Marshal

func (m *GraphQuery_Search) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GraphQuery_Search) XXX_Merge

func (m *GraphQuery_Search) XXX_Merge(src proto.Message)

func (*GraphQuery_Search) XXX_Size

func (m *GraphQuery_Search) XXX_Size() int

func (*GraphQuery_Search) XXX_Unmarshal

func (m *GraphQuery_Search) XXX_Unmarshal(b []byte) error

type GraphQuery_Search_Domain

type GraphQuery_Search_Domain int32
const (
	GraphQuery_Search_QUEST   GraphQuery_Search_Domain = 0
	GraphQuery_Search_ATTEMPT GraphQuery_Search_Domain = 1
)

func (GraphQuery_Search_Domain) EnumDescriptor

func (GraphQuery_Search_Domain) EnumDescriptor() ([]byte, []int)

func (GraphQuery_Search_Domain) String

func (x GraphQuery_Search_Domain) String() string

type JsonResult

type JsonResult struct {
	// Guaranteed to be a JSON object `{...}` or the empty string (if this is part
	// of a Partial result from e.g. a WalkGraph RPC).
	Object string `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
	// The length of data. If this message is non-nil, this will have a value even
	// if object is empty (e.g. for a partial result). This is useful for query
	// results where you either opt to not load the data (include.*.data ==
	// false), or the response exceeds the size limit (so you can see how big the
	// data would have been if the limit wasn't exceeded).
	Size uint32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	// The timestamp of when this JsonResult's contents expire. If omitted, it
	// should be assumed that the contents never expire.
	Expiration           *timestamp.Timestamp `protobuf:"bytes,3,opt,name=expiration,proto3" json:"expiration,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

JsonResult represents a free-form JSON object. It has a maximum size of 256KB normalized (no extra whitespace). DM will normalize incoming JSONObjects before recalculating their size.

func NewDatalessJsonResult

func NewDatalessJsonResult(size uint32, exps ...time.Time) *JsonResult

NewDatalessJsonResult creates a new JsonResult object without data and with optional expiration time.

func NewJsonResult

func NewJsonResult(data string, exps ...time.Time) *JsonResult

NewJsonResult creates a new JsonResult object with optional expiration time.

func (*JsonResult) Descriptor

func (*JsonResult) Descriptor() ([]byte, []int)

func (*JsonResult) FromProperty

func (p *JsonResult) FromProperty(prop datastore.Property) error

FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'JsonResult' when used with the "go.chromium.org/gae" library.

func (*JsonResult) GetExpiration

func (m *JsonResult) GetExpiration() *timestamp.Timestamp

func (*JsonResult) GetObject

func (m *JsonResult) GetObject() string

func (*JsonResult) GetSize

func (m *JsonResult) GetSize() uint32

func (*JsonResult) Normalize

func (j *JsonResult) Normalize() error

Normalize normalizes the JSONObject (ensures it's an object, removes whitespace, sorts keys, normalizes Size value, etc.)

func (*JsonResult) ProtoMessage

func (*JsonResult) ProtoMessage()

func (*JsonResult) Reset

func (m *JsonResult) Reset()

func (*JsonResult) String

func (m *JsonResult) String() string

func (*JsonResult) ToProperty

func (p *JsonResult) ToProperty() (prop datastore.Property, err error)

ToProperty implements datastore.PropertyConverter. It causes an embedded 'JsonResult' to serialize to an unindexed '[]byte' when used with the "go.chromium.org/gae" library.

func (*JsonResult) XXX_DiscardUnknown

func (m *JsonResult) XXX_DiscardUnknown()

func (*JsonResult) XXX_Marshal

func (m *JsonResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*JsonResult) XXX_Merge

func (m *JsonResult) XXX_Merge(src proto.Message)

func (*JsonResult) XXX_Size

func (m *JsonResult) XXX_Size() int

func (*JsonResult) XXX_Unmarshal

func (m *JsonResult) XXX_Unmarshal(b []byte) error

type MultiPropertyValue

type MultiPropertyValue struct {
	Values               []*PropertyValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (*MultiPropertyValue) Descriptor

func (*MultiPropertyValue) Descriptor() ([]byte, []int)

func (*MultiPropertyValue) GetValues

func (m *MultiPropertyValue) GetValues() []*PropertyValue

func (*MultiPropertyValue) ProtoMessage

func (*MultiPropertyValue) ProtoMessage()

func (*MultiPropertyValue) Reset

func (m *MultiPropertyValue) Reset()

func (*MultiPropertyValue) String

func (m *MultiPropertyValue) String() string

func (*MultiPropertyValue) XXX_DiscardUnknown

func (m *MultiPropertyValue) XXX_DiscardUnknown()

func (*MultiPropertyValue) XXX_Marshal

func (m *MultiPropertyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MultiPropertyValue) XXX_Merge

func (m *MultiPropertyValue) XXX_Merge(src proto.Message)

func (*MultiPropertyValue) XXX_Size

func (m *MultiPropertyValue) XXX_Size() int

func (*MultiPropertyValue) XXX_Unmarshal

func (m *MultiPropertyValue) XXX_Unmarshal(b []byte) error

type PropertyValue

type PropertyValue struct {
	// Types that are valid to be assigned to Value:
	//	*PropertyValue_Str
	//	*PropertyValue_Dat
	//	*PropertyValue_Num
	//	*PropertyValue_Bin
	//	*PropertyValue_Time
	//	*PropertyValue_Null
	Value                isPropertyValue_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (*PropertyValue) Descriptor

func (*PropertyValue) Descriptor() ([]byte, []int)

func (*PropertyValue) GetBin

func (m *PropertyValue) GetBin() bool

func (*PropertyValue) GetDat

func (m *PropertyValue) GetDat() []byte

func (*PropertyValue) GetNull

func (m *PropertyValue) GetNull() *empty.Empty

func (*PropertyValue) GetNum

func (m *PropertyValue) GetNum() int64

func (*PropertyValue) GetStr

func (m *PropertyValue) GetStr() string

func (*PropertyValue) GetTime

func (m *PropertyValue) GetTime() *timestamp.Timestamp

func (*PropertyValue) GetValue

func (m *PropertyValue) GetValue() isPropertyValue_Value

func (*PropertyValue) ProtoMessage

func (*PropertyValue) ProtoMessage()

func (*PropertyValue) Reset

func (m *PropertyValue) Reset()

func (*PropertyValue) String

func (m *PropertyValue) String() string

func (*PropertyValue) XXX_DiscardUnknown

func (m *PropertyValue) XXX_DiscardUnknown()

func (*PropertyValue) XXX_Marshal

func (m *PropertyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PropertyValue) XXX_Merge

func (m *PropertyValue) XXX_Merge(src proto.Message)

func (*PropertyValue) XXX_OneofWrappers

func (*PropertyValue) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*PropertyValue) XXX_Size

func (m *PropertyValue) XXX_Size() int

func (*PropertyValue) XXX_Unmarshal

func (m *PropertyValue) XXX_Unmarshal(b []byte) error

type PropertyValue_Bin

type PropertyValue_Bin struct {
	Bin bool `protobuf:"varint,5,opt,name=bin,proto3,oneof"`
}

type PropertyValue_Dat

type PropertyValue_Dat struct {
	Dat []byte `protobuf:"bytes,2,opt,name=dat,proto3,oneof"`
}

type PropertyValue_Null

type PropertyValue_Null struct {
	Null *empty.Empty `protobuf:"bytes,7,opt,name=null,proto3,oneof"`
}

type PropertyValue_Num

type PropertyValue_Num struct {
	Num int64 `protobuf:"varint,3,opt,name=num,proto3,oneof"`
}

type PropertyValue_Str

type PropertyValue_Str struct {
	Str string `protobuf:"bytes,1,opt,name=str,proto3,oneof"`
}

type PropertyValue_Time

type PropertyValue_Time struct {
	Time *timestamp.Timestamp `protobuf:"bytes,6,opt,name=time,proto3,oneof"`
}

type Quest

type Quest struct {
	Id *Quest_ID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`

	DNE  bool        `protobuf:"varint,2,opt,name=DNE,proto3" json:"DNE,omitempty"`
	Data *Quest_Data `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`

	Attempts map[uint32]*Attempt "" /* 158 byte string literal not displayed */

	Partial              bool     `protobuf:"varint,16,opt,name=partial,proto3" json:"partial,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Quest) Descriptor

func (*Quest) Descriptor() ([]byte, []int)

func (*Quest) GetAttempts

func (m *Quest) GetAttempts() map[uint32]*Attempt

func (*Quest) GetDNE

func (m *Quest) GetDNE() bool

func (*Quest) GetData

func (m *Quest) GetData() *Quest_Data

func (*Quest) GetId

func (m *Quest) GetId() *Quest_ID

func (*Quest) GetPartial

func (m *Quest) GetPartial() bool

func (*Quest) ProtoMessage

func (*Quest) ProtoMessage()

func (*Quest) PurgeTimestamps

func (q *Quest) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Quest) Reset

func (m *Quest) Reset()

func (*Quest) String

func (m *Quest) String() string

func (*Quest) UpdateWith

func (q *Quest) UpdateWith(o *Quest)

UpdateWith updates this Quest with data from other.

func (*Quest) XXX_DiscardUnknown

func (m *Quest) XXX_DiscardUnknown()

func (*Quest) XXX_Marshal

func (m *Quest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Quest) XXX_Merge

func (m *Quest) XXX_Merge(src proto.Message)

func (*Quest) XXX_Size

func (m *Quest) XXX_Size() int

func (*Quest) XXX_Unmarshal

func (m *Quest) XXX_Unmarshal(b []byte) error

type QuestTemplateSpecs

type QuestTemplateSpecs []*Quest_TemplateSpec

QuestTemplateSpecs is a sortable slice of *Quest_TemplateSpec.

func (QuestTemplateSpecs) Len

func (s QuestTemplateSpecs) Len() int

func (QuestTemplateSpecs) Less

func (s QuestTemplateSpecs) Less(i, j int) bool

func (QuestTemplateSpecs) Swap

func (s QuestTemplateSpecs) Swap(i, j int)

type Quest_Data

type Quest_Data struct {
	Created              *timestamp.Timestamp  `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"`
	Desc                 *Quest_Desc           `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"`
	BuiltBy              []*Quest_TemplateSpec `protobuf:"bytes,3,rep,name=built_by,json=builtBy,proto3" json:"built_by,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (*Quest_Data) Descriptor

func (*Quest_Data) Descriptor() ([]byte, []int)

func (*Quest_Data) GetBuiltBy

func (m *Quest_Data) GetBuiltBy() []*Quest_TemplateSpec

func (*Quest_Data) GetCreated

func (m *Quest_Data) GetCreated() *timestamp.Timestamp

func (*Quest_Data) GetDesc

func (m *Quest_Data) GetDesc() *Quest_Desc

func (*Quest_Data) ProtoMessage

func (*Quest_Data) ProtoMessage()

func (*Quest_Data) PurgeTimestamps

func (qd *Quest_Data) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Quest_Data) Reset

func (m *Quest_Data) Reset()

func (*Quest_Data) String

func (m *Quest_Data) String() string

func (*Quest_Data) UpdateWith

func (q *Quest_Data) UpdateWith(other *Quest_Data)

UpdateWith updates this Quest_Data with data from other.

func (*Quest_Data) XXX_DiscardUnknown

func (m *Quest_Data) XXX_DiscardUnknown()

func (*Quest_Data) XXX_Marshal

func (m *Quest_Data) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Quest_Data) XXX_Merge

func (m *Quest_Data) XXX_Merge(src proto.Message)

func (*Quest_Data) XXX_Size

func (m *Quest_Data) XXX_Size() int

func (*Quest_Data) XXX_Unmarshal

func (m *Quest_Data) XXX_Unmarshal(b []byte) error

type Quest_Desc

type Quest_Desc struct {
	// This names a specific distributor configuration (or alias) in the
	// service's distributors.cfg file. This will be used to look up the
	// distributor's implementation and connection information when Attempts for
	// this Quest are Executed.
	DistributorConfigName string `protobuf:"bytes,1,opt,name=distributor_config_name,json=distributorConfigName,proto3" json:"distributor_config_name,omitempty"`
	// A JSON object which corresponds to the input parameters for the job.
	// These will be passed in a distributor-specific way to the job. This is
	// a freeform JSON object, and must parse as such, but otherwise doesn't
	// necessarily have a server-enforced schema.
	//
	// The distributor implementation in DM will not use the contents of these
	// to make any scheduling decisions.
	//
	// The distributor MAY choose to validate some schema for these parameters.
	Parameters string `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
	// A JSON object which corresponds to the distributor-specific parameters
	// for the job.
	//
	// The distributor defines and validates the schema for these, and will use
	// the values herein to make decisions about how the job is run. It is up to
	// the distributor whether these values are passed on to the job, and if so
	// in what form.
	DistributorParameters string `protobuf:"bytes,3,opt,name=distributor_parameters,json=distributorParameters,proto3" json:"distributor_parameters,omitempty"`
	// This is metadata which doesn't affect the functionality of the payload,
	// but does affect how DM interacts with the distributor when scheduling
	// Executions.
	Meta                 *Quest_Desc_Meta `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func NewQuestDesc

func NewQuestDesc(cfg string, params, distParams string, meta *Quest_Desc_Meta) *Quest_Desc

NewQuestDesc is a shorthand method for building a new *Quest_Desc.

func (*Quest_Desc) Descriptor

func (*Quest_Desc) Descriptor() ([]byte, []int)

func (*Quest_Desc) FromProperty

func (p *Quest_Desc) FromProperty(prop datastore.Property) error

FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'Quest_Desc' when used with the "go.chromium.org/gae" library.

func (*Quest_Desc) GetDistributorConfigName

func (m *Quest_Desc) GetDistributorConfigName() string

func (*Quest_Desc) GetDistributorParameters

func (m *Quest_Desc) GetDistributorParameters() string

func (*Quest_Desc) GetMeta

func (m *Quest_Desc) GetMeta() *Quest_Desc_Meta

func (*Quest_Desc) GetParameters

func (m *Quest_Desc) GetParameters() string

func (*Quest_Desc) Normalize

func (q *Quest_Desc) Normalize() error

Normalize returns an error iff the Quest_Desc is invalid.

func (*Quest_Desc) ProtoMessage

func (*Quest_Desc) ProtoMessage()

func (*Quest_Desc) QuestID

func (q *Quest_Desc) QuestID() string

QuestID computes the DM compatible quest ID for this Quest_Desc. The Quest_Desc should already be Normalize()'d.

func (*Quest_Desc) Reset

func (m *Quest_Desc) Reset()

func (*Quest_Desc) String

func (m *Quest_Desc) String() string

func (*Quest_Desc) ToProperty

func (p *Quest_Desc) ToProperty() (prop datastore.Property, err error)

ToProperty implements datastore.PropertyConverter. It causes an embedded 'Quest_Desc' to serialize to an unindexed '[]byte' when used with the "go.chromium.org/gae" library.

func (*Quest_Desc) XXX_DiscardUnknown

func (m *Quest_Desc) XXX_DiscardUnknown()

func (*Quest_Desc) XXX_Marshal

func (m *Quest_Desc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Quest_Desc) XXX_Merge

func (m *Quest_Desc) XXX_Merge(src proto.Message)

func (*Quest_Desc) XXX_Size

func (m *Quest_Desc) XXX_Size() int

func (*Quest_Desc) XXX_Unmarshal

func (m *Quest_Desc) XXX_Unmarshal(b []byte) error

type Quest_Desc_Meta

type Quest_Desc_Meta struct {
	// This names the user/service account for all Attempts on this quest. You
	// must have permission to use this account when creating the Quest and/or
	// Attempts.
	AsAccount string `protobuf:"bytes,1,opt,name=as_account,json=asAccount,proto3" json:"as_account,omitempty"`
	// This affects how DM will retry the job payload in various exceptional
	// circumstances.
	Retry                *Quest_Desc_Meta_Retry    `protobuf:"bytes,2,opt,name=retry,proto3" json:"retry,omitempty"`
	Timeouts             *Quest_Desc_Meta_Timeouts `protobuf:"bytes,3,opt,name=timeouts,proto3" json:"timeouts,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

func (*Quest_Desc_Meta) Descriptor

func (*Quest_Desc_Meta) Descriptor() ([]byte, []int)

func (*Quest_Desc_Meta) GetAsAccount

func (m *Quest_Desc_Meta) GetAsAccount() string

func (*Quest_Desc_Meta) GetRetry

func (m *Quest_Desc_Meta) GetRetry() *Quest_Desc_Meta_Retry

func (*Quest_Desc_Meta) GetTimeouts

func (m *Quest_Desc_Meta) GetTimeouts() *Quest_Desc_Meta_Timeouts

func (*Quest_Desc_Meta) IsEmpty

func (q *Quest_Desc_Meta) IsEmpty() bool

IsEmpty returns true if this metadata only contains zero-values.

func (*Quest_Desc_Meta) ProtoMessage

func (*Quest_Desc_Meta) ProtoMessage()

func (*Quest_Desc_Meta) Reset

func (m *Quest_Desc_Meta) Reset()

func (*Quest_Desc_Meta) String

func (m *Quest_Desc_Meta) String() string

func (*Quest_Desc_Meta) XXX_DiscardUnknown

func (m *Quest_Desc_Meta) XXX_DiscardUnknown()

func (*Quest_Desc_Meta) XXX_Marshal

func (m *Quest_Desc_Meta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Quest_Desc_Meta) XXX_Merge

func (m *Quest_Desc_Meta) XXX_Merge(src proto.Message)

func (*Quest_Desc_Meta) XXX_Size

func (m *Quest_Desc_Meta) XXX_Size() int

func (*Quest_Desc_Meta) XXX_Unmarshal

func (m *Quest_Desc_Meta) XXX_Unmarshal(b []byte) error

type Quest_Desc_Meta_Retry

type Quest_Desc_Meta_Retry struct {
	// The number of times in a row to retry Executions which have an
	// ABNORMAL_FINISHED status of FAILED.
	Failed uint32 `protobuf:"varint,1,opt,name=failed,proto3" json:"failed,omitempty"`
	// The number of times in a row to retry Executions which have an
	// ABNORMAL_FINISHED status of CRASHED.
	Crashed uint32 `protobuf:"varint,2,opt,name=crashed,proto3" json:"crashed,omitempty"`
	// The number of times in a row to retry Executions which have an
	// ABNORMAL_FINISHED status of EXPIRED.
	Expired uint32 `protobuf:"varint,3,opt,name=expired,proto3" json:"expired,omitempty"`
	// The number of times in a row to retry Executions which have an
	// ABNORMAL_FINISHED status of TIMED_OUT.
	TimedOut             uint32   `protobuf:"varint,4,opt,name=timed_out,json=timedOut,proto3" json:"timed_out,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Retry specifies the number of times in a row that DM should re-Execute an Attempt due to the provided abnormal result.

NOTE: The proto tag numbers for these MUST be aligned with the enumeration values of AbnormalFinish.Status!

func (*Quest_Desc_Meta_Retry) Descriptor

func (*Quest_Desc_Meta_Retry) Descriptor() ([]byte, []int)

func (*Quest_Desc_Meta_Retry) GetCrashed

func (m *Quest_Desc_Meta_Retry) GetCrashed() uint32

func (*Quest_Desc_Meta_Retry) GetExpired

func (m *Quest_Desc_Meta_Retry) GetExpired() uint32

func (*Quest_Desc_Meta_Retry) GetFailed

func (m *Quest_Desc_Meta_Retry) GetFailed() uint32

func (*Quest_Desc_Meta_Retry) GetTimedOut

func (m *Quest_Desc_Meta_Retry) GetTimedOut() uint32

func (*Quest_Desc_Meta_Retry) IsEmpty

func (q *Quest_Desc_Meta_Retry) IsEmpty() bool

IsEmpty returns true if this metadata retry message only contains zero-values.

func (*Quest_Desc_Meta_Retry) ProtoMessage

func (*Quest_Desc_Meta_Retry) ProtoMessage()

func (*Quest_Desc_Meta_Retry) Reset

func (m *Quest_Desc_Meta_Retry) Reset()

func (*Quest_Desc_Meta_Retry) String

func (m *Quest_Desc_Meta_Retry) String() string

func (*Quest_Desc_Meta_Retry) XXX_DiscardUnknown

func (m *Quest_Desc_Meta_Retry) XXX_DiscardUnknown()

func (*Quest_Desc_Meta_Retry) XXX_Marshal

func (m *Quest_Desc_Meta_Retry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Quest_Desc_Meta_Retry) XXX_Merge

func (m *Quest_Desc_Meta_Retry) XXX_Merge(src proto.Message)

func (*Quest_Desc_Meta_Retry) XXX_Size

func (m *Quest_Desc_Meta_Retry) XXX_Size() int

func (*Quest_Desc_Meta_Retry) XXX_Unmarshal

func (m *Quest_Desc_Meta_Retry) XXX_Unmarshal(b []byte) error

type Quest_Desc_Meta_Timeouts

type Quest_Desc_Meta_Timeouts struct {
	Start                *duration.Duration `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
	Run                  *duration.Duration `protobuf:"bytes,2,opt,name=run,proto3" json:"run,omitempty"`
	Stop                 *duration.Duration `protobuf:"bytes,3,opt,name=stop,proto3" json:"stop,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

Timing describes the amount of time that Executions for this Quest should have, on the following timeline:

Event: execution sent to distributor
  ^ "start" v
Event: execution sends ActivateExecution
  ^ "run" v
Event: execution sends halting RPC (either ActivateExecution or
  EnsureGraphData)
  ^ "stop" v
Event: distributor gives execution result back to DM

If the given timeout hits before the next event in the timeline, DM will mark the Execution as TIMED_OUT, and the appropriate retry policy will be applied.

If a given timeout is unlimited, leave the duration unset or 0.

func (*Quest_Desc_Meta_Timeouts) Descriptor

func (*Quest_Desc_Meta_Timeouts) Descriptor() ([]byte, []int)

func (*Quest_Desc_Meta_Timeouts) GetRun

func (m *Quest_Desc_Meta_Timeouts) GetRun() *duration.Duration

func (*Quest_Desc_Meta_Timeouts) GetStart

func (m *Quest_Desc_Meta_Timeouts) GetStart() *duration.Duration

func (*Quest_Desc_Meta_Timeouts) GetStop

func (m *Quest_Desc_Meta_Timeouts) GetStop() *duration.Duration

func (*Quest_Desc_Meta_Timeouts) Normalize

func (t *Quest_Desc_Meta_Timeouts) Normalize() error

Normalize ensures that all timeouts are >= 0

func (*Quest_Desc_Meta_Timeouts) ProtoMessage

func (*Quest_Desc_Meta_Timeouts) ProtoMessage()

func (*Quest_Desc_Meta_Timeouts) Reset

func (m *Quest_Desc_Meta_Timeouts) Reset()

func (*Quest_Desc_Meta_Timeouts) String

func (m *Quest_Desc_Meta_Timeouts) String() string

func (*Quest_Desc_Meta_Timeouts) XXX_DiscardUnknown

func (m *Quest_Desc_Meta_Timeouts) XXX_DiscardUnknown()

func (*Quest_Desc_Meta_Timeouts) XXX_Marshal

func (m *Quest_Desc_Meta_Timeouts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Quest_Desc_Meta_Timeouts) XXX_Merge

func (m *Quest_Desc_Meta_Timeouts) XXX_Merge(src proto.Message)

func (*Quest_Desc_Meta_Timeouts) XXX_Size

func (m *Quest_Desc_Meta_Timeouts) XXX_Size() int

func (*Quest_Desc_Meta_Timeouts) XXX_Unmarshal

func (m *Quest_Desc_Meta_Timeouts) XXX_Unmarshal(b []byte) error

type Quest_ID

type Quest_ID struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func NewQuestID

func NewQuestID(qst string) *Quest_ID

NewQuestID is a shorthand to New a new *Quest_ID

func (*Quest_ID) Descriptor

func (*Quest_ID) Descriptor() ([]byte, []int)

func (*Quest_ID) Equals

func (q *Quest_ID) Equals(o *Quest_ID) bool

Equals returns true iff the two Quest_IDs are equivalent.

func (*Quest_ID) GetId

func (m *Quest_ID) GetId() string

func (*Quest_ID) ProtoMessage

func (*Quest_ID) ProtoMessage()

func (*Quest_ID) Reset

func (m *Quest_ID) Reset()

func (*Quest_ID) String

func (m *Quest_ID) String() string

func (*Quest_ID) XXX_DiscardUnknown

func (m *Quest_ID) XXX_DiscardUnknown()

func (*Quest_ID) XXX_Marshal

func (m *Quest_ID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Quest_ID) XXX_Merge

func (m *Quest_ID) XXX_Merge(src proto.Message)

func (*Quest_ID) XXX_Size

func (m *Quest_ID) XXX_Size() int

func (*Quest_ID) XXX_Unmarshal

func (m *Quest_ID) XXX_Unmarshal(b []byte) error

type Quest_TemplateSpec

type Quest_TemplateSpec struct {
	Project              string   `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Ref                  string   `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	Version              string   `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func NewTemplateSpec

func NewTemplateSpec(project, ref, version, name string) *Quest_TemplateSpec

NewTemplateSpec is a shorthand method for building a new *Quest_TemplateSpec.

func (*Quest_TemplateSpec) Descriptor

func (*Quest_TemplateSpec) Descriptor() ([]byte, []int)

func (*Quest_TemplateSpec) Equals

func (t *Quest_TemplateSpec) Equals(o *Quest_TemplateSpec) bool

Equals returns true iff this Quest_TemplateSpec matches all of the fields of the `o` Quest_TemplateSpec.

func (*Quest_TemplateSpec) FromProperty

func (p *Quest_TemplateSpec) FromProperty(prop datastore.Property) error

FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'Quest_TemplateSpec' when used with the "go.chromium.org/gae" library.

func (*Quest_TemplateSpec) GetName

func (m *Quest_TemplateSpec) GetName() string

func (*Quest_TemplateSpec) GetProject

func (m *Quest_TemplateSpec) GetProject() string

func (*Quest_TemplateSpec) GetRef

func (m *Quest_TemplateSpec) GetRef() string

func (*Quest_TemplateSpec) GetVersion

func (m *Quest_TemplateSpec) GetVersion() string

func (*Quest_TemplateSpec) ProtoMessage

func (*Quest_TemplateSpec) ProtoMessage()

func (*Quest_TemplateSpec) Reset

func (m *Quest_TemplateSpec) Reset()

func (*Quest_TemplateSpec) String

func (m *Quest_TemplateSpec) String() string

func (*Quest_TemplateSpec) ToProperty

func (p *Quest_TemplateSpec) ToProperty() (prop datastore.Property, err error)

ToProperty implements datastore.PropertyConverter. It causes an embedded 'Quest_TemplateSpec' to serialize to an unindexed '[]byte' when used with the "go.chromium.org/gae" library.

func (*Quest_TemplateSpec) XXX_DiscardUnknown

func (m *Quest_TemplateSpec) XXX_DiscardUnknown()

func (*Quest_TemplateSpec) XXX_Marshal

func (m *Quest_TemplateSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Quest_TemplateSpec) XXX_Merge

func (m *Quest_TemplateSpec) XXX_Merge(src proto.Message)

func (*Quest_TemplateSpec) XXX_Size

func (m *Quest_TemplateSpec) XXX_Size() int

func (*Quest_TemplateSpec) XXX_Unmarshal

func (m *Quest_TemplateSpec) XXX_Unmarshal(b []byte) error

type Result

type Result struct {
	Data                 *JsonResult     `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	AbnormalFinish       *AbnormalFinish `protobuf:"bytes,2,opt,name=abnormal_finish,json=abnormalFinish,proto3" json:"abnormal_finish,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

Result holds either data OR abnormal finish information.

func (*Result) Descriptor

func (*Result) Descriptor() ([]byte, []int)

func (*Result) FromProperty

func (p *Result) FromProperty(prop datastore.Property) error

FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'Result' when used with the "go.chromium.org/gae" library.

func (*Result) GetAbnormalFinish

func (m *Result) GetAbnormalFinish() *AbnormalFinish

func (*Result) GetData

func (m *Result) GetData() *JsonResult

func (*Result) ProtoMessage

func (*Result) ProtoMessage()

func (*Result) Reset

func (m *Result) Reset()

func (*Result) String

func (m *Result) String() string

func (*Result) ToProperty

func (p *Result) ToProperty() (prop datastore.Property, err error)

ToProperty implements datastore.PropertyConverter. It causes an embedded 'Result' to serialize to an unindexed '[]byte' when used with the "go.chromium.org/gae" library.

func (*Result) XXX_DiscardUnknown

func (m *Result) XXX_DiscardUnknown()

func (*Result) XXX_Marshal

func (m *Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Result) XXX_Merge

func (m *Result) XXX_Merge(src proto.Message)

func (*Result) XXX_Size

func (m *Result) XXX_Size() int

func (*Result) XXX_Unmarshal

func (m *Result) XXX_Unmarshal(b []byte) error

type TemplateInstantiation

type TemplateInstantiation struct {
	// project is the luci-config project which defines the template.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// ref is the git ref of the project that defined this template. If omitted,
	// this will use the template definition from the project-wide configuration
	// and not the configuration located on a particular ref (like
	// 'refs/heads/master').
	Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	// specifier specifies the actual template name, as well as any substitution
	// parameters which that template might require.
	Specifier            *templateproto.Specifier `protobuf:"bytes,4,opt,name=specifier,proto3" json:"specifier,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (*TemplateInstantiation) Descriptor

func (*TemplateInstantiation) Descriptor() ([]byte, []int)

func (*TemplateInstantiation) GetProject

func (m *TemplateInstantiation) GetProject() string

func (*TemplateInstantiation) GetRef

func (m *TemplateInstantiation) GetRef() string

func (*TemplateInstantiation) GetSpecifier

func (m *TemplateInstantiation) GetSpecifier() *templateproto.Specifier

func (*TemplateInstantiation) Normalize

func (t *TemplateInstantiation) Normalize() error

Normalize returns an error iff the TemplateInstantiation is invalid.

func (*TemplateInstantiation) ProtoMessage

func (*TemplateInstantiation) ProtoMessage()

func (*TemplateInstantiation) Reset

func (m *TemplateInstantiation) Reset()

func (*TemplateInstantiation) String

func (m *TemplateInstantiation) String() string

func (*TemplateInstantiation) XXX_DiscardUnknown

func (m *TemplateInstantiation) XXX_DiscardUnknown()

func (*TemplateInstantiation) XXX_Marshal

func (m *TemplateInstantiation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TemplateInstantiation) XXX_Merge

func (m *TemplateInstantiation) XXX_Merge(src proto.Message)

func (*TemplateInstantiation) XXX_Size

func (m *TemplateInstantiation) XXX_Size() int

func (*TemplateInstantiation) XXX_Unmarshal

func (m *TemplateInstantiation) XXX_Unmarshal(b []byte) error

type TimestampPurger

type TimestampPurger interface {
	PurgeTimestamps()
}

TimestampPurger is for testing: invoking this on a struct in this package will remove all timestamps from it. This is useful for testing where the timestamps are frequently just noise.

type UnimplementedDepsServer

type UnimplementedDepsServer struct {
}

UnimplementedDepsServer can be embedded to have forward compatible implementations.

func (*UnimplementedDepsServer) ActivateExecution

func (*UnimplementedDepsServer) ActivateExecution(ctx context.Context, req *ActivateExecutionReq) (*empty.Empty, error)

func (*UnimplementedDepsServer) EnsureGraphData

func (*UnimplementedDepsServer) EnsureGraphData(ctx context.Context, req *EnsureGraphDataReq) (*EnsureGraphDataRsp, error)

func (*UnimplementedDepsServer) FinishAttempt

func (*UnimplementedDepsServer) FinishAttempt(ctx context.Context, req *FinishAttemptReq) (*empty.Empty, error)

func (*UnimplementedDepsServer) WalkGraph

func (*UnimplementedDepsServer) WalkGraph(ctx context.Context, req *WalkGraphReq) (*GraphData, error)

type WalkGraphReq

type WalkGraphReq struct {
	// Optional. See Include.AttemptResult for restrictions.
	Auth *Execution_Auth `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"`
	// Query specifies a list of queries to start the graph traversal on. The
	// traversal will occur as a union of the query results. Redundant
	// specification will not cause additional heavy work; every graph node will
	// be processed exactly once, regardless of how many times it appears in the
	// query results. However, redundancy in the queries will cause the server to
	// retrieve and discard more information.
	Query *GraphQuery         `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
	Mode  *WalkGraphReq_Mode  `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"`
	Limit *WalkGraphReq_Limit `protobuf:"bytes,4,opt,name=limit,proto3" json:"limit,omitempty"`
	// Include allows you to add additional information to the returned
	// GraphData which is typically medium-to-large sized.
	Include              *WalkGraphReq_Include `protobuf:"bytes,5,opt,name=include,proto3" json:"include,omitempty"`
	Exclude              *WalkGraphReq_Exclude `protobuf:"bytes,6,opt,name=exclude,proto3" json:"exclude,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

WalkGraphReq allows you to walk from one or more Quests through their Attempt's forward dependencies.

The handler will evaluate all of the queries, executing them in parallel. For each attempt or quest produced by the query, it will queue a walk operation for that node, respecting the options set (max_depth, etc.).

func (*WalkGraphReq) Descriptor

func (*WalkGraphReq) Descriptor() ([]byte, []int)

func (*WalkGraphReq) GetAuth

func (m *WalkGraphReq) GetAuth() *Execution_Auth

func (*WalkGraphReq) GetExclude

func (m *WalkGraphReq) GetExclude() *WalkGraphReq_Exclude

func (*WalkGraphReq) GetInclude

func (m *WalkGraphReq) GetInclude() *WalkGraphReq_Include

func (*WalkGraphReq) GetLimit

func (m *WalkGraphReq) GetLimit() *WalkGraphReq_Limit

func (*WalkGraphReq) GetMode

func (m *WalkGraphReq) GetMode() *WalkGraphReq_Mode

func (*WalkGraphReq) GetQuery

func (m *WalkGraphReq) GetQuery() *GraphQuery

func (*WalkGraphReq) Normalize

func (w *WalkGraphReq) Normalize() error

Normalize returns an error iff the WalkGraphReq is invalid.

func (*WalkGraphReq) ProtoMessage

func (*WalkGraphReq) ProtoMessage()

func (*WalkGraphReq) Reset

func (m *WalkGraphReq) Reset()

func (*WalkGraphReq) String

func (m *WalkGraphReq) String() string

func (*WalkGraphReq) XXX_DiscardUnknown

func (m *WalkGraphReq) XXX_DiscardUnknown()

func (*WalkGraphReq) XXX_Marshal

func (m *WalkGraphReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WalkGraphReq) XXX_Merge

func (m *WalkGraphReq) XXX_Merge(src proto.Message)

func (*WalkGraphReq) XXX_Size

func (m *WalkGraphReq) XXX_Size() int

func (*WalkGraphReq) XXX_Unmarshal

func (m *WalkGraphReq) XXX_Unmarshal(b []byte) error

type WalkGraphReq_Exclude

type WalkGraphReq_Exclude struct {
	// Do not include data from the following quests in the response.
	Quests []string `protobuf:"bytes,1,rep,name=quests,proto3" json:"quests,omitempty"`
	// Do not include data from the following attempts in the response.
	Attempts             *AttemptList `protobuf:"bytes,2,opt,name=attempts,proto3" json:"attempts,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (*WalkGraphReq_Exclude) Descriptor

func (*WalkGraphReq_Exclude) Descriptor() ([]byte, []int)

func (*WalkGraphReq_Exclude) GetAttempts

func (m *WalkGraphReq_Exclude) GetAttempts() *AttemptList

func (*WalkGraphReq_Exclude) GetQuests

func (m *WalkGraphReq_Exclude) GetQuests() []string

func (*WalkGraphReq_Exclude) Normalize

func (e *WalkGraphReq_Exclude) Normalize() error

Normalize returns an error iff the WalkGraphReq_Exclude is invalid.

func (*WalkGraphReq_Exclude) ProtoMessage

func (*WalkGraphReq_Exclude) ProtoMessage()

func (*WalkGraphReq_Exclude) Reset

func (m *WalkGraphReq_Exclude) Reset()

func (*WalkGraphReq_Exclude) String

func (m *WalkGraphReq_Exclude) String() string

func (*WalkGraphReq_Exclude) XXX_DiscardUnknown

func (m *WalkGraphReq_Exclude) XXX_DiscardUnknown()

func (*WalkGraphReq_Exclude) XXX_Marshal

func (m *WalkGraphReq_Exclude) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WalkGraphReq_Exclude) XXX_Merge

func (m *WalkGraphReq_Exclude) XXX_Merge(src proto.Message)

func (*WalkGraphReq_Exclude) XXX_Size

func (m *WalkGraphReq_Exclude) XXX_Size() int

func (*WalkGraphReq_Exclude) XXX_Unmarshal

func (m *WalkGraphReq_Exclude) XXX_Unmarshal(b []byte) error

type WalkGraphReq_Include

type WalkGraphReq_Include struct {
	Quest     *WalkGraphReq_Include_Options `protobuf:"bytes,1,opt,name=quest,proto3" json:"quest,omitempty"`
	Attempt   *WalkGraphReq_Include_Options `protobuf:"bytes,2,opt,name=attempt,proto3" json:"attempt,omitempty"`
	Execution *WalkGraphReq_Include_Options `protobuf:"bytes,3,opt,name=execution,proto3" json:"execution,omitempty"`
	// Executions is the number of Executions to include per Attempt. If this
	// is 0, then the execution data will be omitted completely.
	//
	// Executions included are from high ids to low ids. So setting this to `1`
	// would return the LAST execution made for this Attempt.
	NumExecutions uint32 `protobuf:"varint,4,opt,name=num_executions,json=numExecutions,proto3" json:"num_executions,omitempty"`
	// FwdDeps instructs WalkGraph to include forward dependency information
	// from the result. This only changes the presence of information in the
	// result; if the query is walking forward attempt dependencies, that will
	// still occur even if this is false.
	FwdDeps bool `protobuf:"varint,5,opt,name=fwd_deps,json=fwdDeps,proto3" json:"fwd_deps,omitempty"`
	// BackDeps instructs WalkGraph to include the backwards dependency
	// information. This only changes the presence of information in the result;
	// if the query is walking backward attempt dependencies, that will still
	// occur even if this is false.
	BackDeps             bool     `protobuf:"varint,6,opt,name=back_deps,json=backDeps,proto3" json:"back_deps,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func MakeWalkGraphIncludeAll

func MakeWalkGraphIncludeAll() *WalkGraphReq_Include

MakeWalkGraphIncludeAll makes a new WalkGraphReq_Include which has all the boxes ticked. This should only be used when your application plans to dump the resulting graph query data to some logging/debugging trace for humans.

If you don't plan on dumping it for humans, please set the Include options appropriately in order to avoid wasting bandwidth/cpu/datastore query time on the server (and draining your DM quotas unnecessarially).

func (*WalkGraphReq_Include) Descriptor

func (*WalkGraphReq_Include) Descriptor() ([]byte, []int)

func (*WalkGraphReq_Include) GetAttempt

func (m *WalkGraphReq_Include) GetAttempt() *WalkGraphReq_Include_Options

func (*WalkGraphReq_Include) GetBackDeps

func (m *WalkGraphReq_Include) GetBackDeps() bool

func (*WalkGraphReq_Include) GetExecution

func (m *WalkGraphReq_Include) GetExecution() *WalkGraphReq_Include_Options

func (*WalkGraphReq_Include) GetFwdDeps

func (m *WalkGraphReq_Include) GetFwdDeps() bool

func (*WalkGraphReq_Include) GetNumExecutions

func (m *WalkGraphReq_Include) GetNumExecutions() uint32

func (*WalkGraphReq_Include) GetQuest

func (m *WalkGraphReq_Include) GetQuest() *WalkGraphReq_Include_Options

func (*WalkGraphReq_Include) ProtoMessage

func (*WalkGraphReq_Include) ProtoMessage()

func (*WalkGraphReq_Include) Reset

func (m *WalkGraphReq_Include) Reset()

func (*WalkGraphReq_Include) String

func (m *WalkGraphReq_Include) String() string

func (*WalkGraphReq_Include) XXX_DiscardUnknown

func (m *WalkGraphReq_Include) XXX_DiscardUnknown()

func (*WalkGraphReq_Include) XXX_Marshal

func (m *WalkGraphReq_Include) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WalkGraphReq_Include) XXX_Merge

func (m *WalkGraphReq_Include) XXX_Merge(src proto.Message)

func (*WalkGraphReq_Include) XXX_Size

func (m *WalkGraphReq_Include) XXX_Size() int

func (*WalkGraphReq_Include) XXX_Unmarshal

func (m *WalkGraphReq_Include) XXX_Unmarshal(b []byte) error

type WalkGraphReq_Include_Options

type WalkGraphReq_Include_Options struct {
	// Fills the 'id' field.
	//
	// If this is false, it will be omitted.
	//
	// Note that there's enough information contextually to derive these ids
	// on the client side, though it can be handy to have the server produce
	// them for you.
	Ids bool `protobuf:"varint,1,opt,name=ids,proto3" json:"ids,omitempty"`
	// Instructs the request to include the Data field
	Data bool `protobuf:"varint,2,opt,name=data,proto3" json:"data,omitempty"`
	// Instructs finished objects to include the Result field.
	//
	// If the requestor is an execution, the query logic will only include the
	// result if the execution's Attempt depends on it, otherwise it will be
	// blank.
	//
	// If the request's cumulative result data would be more than
	// limit.max_data_size of data, the remaining results will have their
	// Partial.Result set to DATA_SIZE_LIMIT.
	//
	// Has no effect for Quests.
	Result bool `protobuf:"varint,3,opt,name=result,proto3" json:"result,omitempty"`
	// If set to true, objects with an abnormal termination will be included.
	Abnormal bool `protobuf:"varint,4,opt,name=abnormal,proto3" json:"abnormal,omitempty"`
	// If set to true, expired objects will be included.
	Expired              bool     `protobuf:"varint,5,opt,name=expired,proto3" json:"expired,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*WalkGraphReq_Include_Options) Descriptor

func (*WalkGraphReq_Include_Options) Descriptor() ([]byte, []int)

func (*WalkGraphReq_Include_Options) GetAbnormal

func (m *WalkGraphReq_Include_Options) GetAbnormal() bool

func (*WalkGraphReq_Include_Options) GetData

func (m *WalkGraphReq_Include_Options) GetData() bool

func (*WalkGraphReq_Include_Options) GetExpired

func (m *WalkGraphReq_Include_Options) GetExpired() bool

func (*WalkGraphReq_Include_Options) GetIds

func (m *WalkGraphReq_Include_Options) GetIds() bool

func (*WalkGraphReq_Include_Options) GetResult

func (m *WalkGraphReq_Include_Options) GetResult() bool

func (*WalkGraphReq_Include_Options) ProtoMessage

func (*WalkGraphReq_Include_Options) ProtoMessage()

func (*WalkGraphReq_Include_Options) Reset

func (m *WalkGraphReq_Include_Options) Reset()

func (*WalkGraphReq_Include_Options) String

func (m *WalkGraphReq_Include_Options) String() string

func (*WalkGraphReq_Include_Options) XXX_DiscardUnknown

func (m *WalkGraphReq_Include_Options) XXX_DiscardUnknown()

func (*WalkGraphReq_Include_Options) XXX_Marshal

func (m *WalkGraphReq_Include_Options) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WalkGraphReq_Include_Options) XXX_Merge

func (m *WalkGraphReq_Include_Options) XXX_Merge(src proto.Message)

func (*WalkGraphReq_Include_Options) XXX_Size

func (m *WalkGraphReq_Include_Options) XXX_Size() int

func (*WalkGraphReq_Include_Options) XXX_Unmarshal

func (m *WalkGraphReq_Include_Options) XXX_Unmarshal(b []byte) error

type WalkGraphReq_Limit

type WalkGraphReq_Limit struct {
	// MaxDepth sets the number of attempts to traverse; 0 means 'immediate'
	// (no dependencies), -1 means 'no limit', and >0 is a limit.
	//
	// Any negative value besides -1 is an error.
	MaxDepth int64 `protobuf:"varint,1,opt,name=max_depth,json=maxDepth,proto3" json:"max_depth,omitempty"`
	// MaxTime sets the maximum amount of time that the query processor should
	// take. Application of this deadline is 'best effort', which means the query
	// may take a bit longer than this timeout and still attempt to return data.
	//
	// This is different than the grpc timeout header, which will set a hard
	// deadline for the request.
	MaxTime *duration.Duration `protobuf:"bytes,2,opt,name=max_time,json=maxTime,proto3" json:"max_time,omitempty"`
	// MaxDataSize sets the maximum amount of 'Data' (in bytes) that can be
	// returned, if include.quest_data, include.attempt_data, and/or
	// include.attempt_result are set. If this limit is hit, then the
	// appropriate 'partial' value will be set for that object, but the base
	// object would still be included in the result.
	//
	// If this limit is 0, a default limit of 16MB will be used. If this limit
	// exceeds 30MB, it will be reduced to 30MB.
	MaxDataSize          uint32   `protobuf:"varint,3,opt,name=max_data_size,json=maxDataSize,proto3" json:"max_data_size,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*WalkGraphReq_Limit) Descriptor

func (*WalkGraphReq_Limit) Descriptor() ([]byte, []int)

func (*WalkGraphReq_Limit) GetMaxDataSize

func (m *WalkGraphReq_Limit) GetMaxDataSize() uint32

func (*WalkGraphReq_Limit) GetMaxDepth

func (m *WalkGraphReq_Limit) GetMaxDepth() int64

func (*WalkGraphReq_Limit) GetMaxTime

func (m *WalkGraphReq_Limit) GetMaxTime() *duration.Duration

func (*WalkGraphReq_Limit) ProtoMessage

func (*WalkGraphReq_Limit) ProtoMessage()

func (*WalkGraphReq_Limit) Reset

func (m *WalkGraphReq_Limit) Reset()

func (*WalkGraphReq_Limit) String

func (m *WalkGraphReq_Limit) String() string

func (*WalkGraphReq_Limit) XXX_DiscardUnknown

func (m *WalkGraphReq_Limit) XXX_DiscardUnknown()

func (*WalkGraphReq_Limit) XXX_Marshal

func (m *WalkGraphReq_Limit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WalkGraphReq_Limit) XXX_Merge

func (m *WalkGraphReq_Limit) XXX_Merge(src proto.Message)

func (*WalkGraphReq_Limit) XXX_Size

func (m *WalkGraphReq_Limit) XXX_Size() int

func (*WalkGraphReq_Limit) XXX_Unmarshal

func (m *WalkGraphReq_Limit) XXX_Unmarshal(b []byte) error

type WalkGraphReq_Mode

type WalkGraphReq_Mode struct {
	// DFS sets whether this is a Depth-first (ish) or a Breadth-first (ish) load.
	// Since the load operation is multi-threaded, the search order is best
	// effort, but will actually be some hybrid between DFS and BFS. This setting
	// controls the bias direction of the hybrid loading algorithm.
	Dfs                  bool                        `protobuf:"varint,1,opt,name=dfs,proto3" json:"dfs,omitempty"`
	Direction            WalkGraphReq_Mode_Direction `protobuf:"varint,2,opt,name=direction,proto3,enum=dm.WalkGraphReq_Mode_Direction" json:"direction,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

func (*WalkGraphReq_Mode) Descriptor

func (*WalkGraphReq_Mode) Descriptor() ([]byte, []int)

func (*WalkGraphReq_Mode) GetDfs

func (m *WalkGraphReq_Mode) GetDfs() bool

func (*WalkGraphReq_Mode) GetDirection

func (m *WalkGraphReq_Mode) GetDirection() WalkGraphReq_Mode_Direction

func (*WalkGraphReq_Mode) ProtoMessage

func (*WalkGraphReq_Mode) ProtoMessage()

func (*WalkGraphReq_Mode) Reset

func (m *WalkGraphReq_Mode) Reset()

func (*WalkGraphReq_Mode) String

func (m *WalkGraphReq_Mode) String() string

func (*WalkGraphReq_Mode) XXX_DiscardUnknown

func (m *WalkGraphReq_Mode) XXX_DiscardUnknown()

func (*WalkGraphReq_Mode) XXX_Marshal

func (m *WalkGraphReq_Mode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WalkGraphReq_Mode) XXX_Merge

func (m *WalkGraphReq_Mode) XXX_Merge(src proto.Message)

func (*WalkGraphReq_Mode) XXX_Size

func (m *WalkGraphReq_Mode) XXX_Size() int

func (*WalkGraphReq_Mode) XXX_Unmarshal

func (m *WalkGraphReq_Mode) XXX_Unmarshal(b []byte) error

type WalkGraphReq_Mode_Direction

type WalkGraphReq_Mode_Direction int32

Direction indicates that direction of dependencies that the request should walk.

const (
	WalkGraphReq_Mode_FORWARDS  WalkGraphReq_Mode_Direction = 0
	WalkGraphReq_Mode_BACKWARDS WalkGraphReq_Mode_Direction = 1
	WalkGraphReq_Mode_BOTH      WalkGraphReq_Mode_Direction = 2
)

func (WalkGraphReq_Mode_Direction) EnumDescriptor

func (WalkGraphReq_Mode_Direction) EnumDescriptor() ([]byte, []int)

func (WalkGraphReq_Mode_Direction) String

func (x WalkGraphReq_Mode_Direction) String() string

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier