luci: go.chromium.org/luci/dm/api/service/v1 Index | Files

package dm

import "go.chromium.org/luci/dm/api/service/v1"

Index

Package Files

activate_execution.pb.go activate_execution_normalize.go attempt_data.go attempt_list.go attempt_state_evolve.go datastore_embed.go depsserver_dec.go ensure_graph_data.pb.go ensure_graph_data_normalize.go execution_data.go execution_state_evolve.go finish_attempt.pb.go finish_attempt_normalize.go gen.go graph_data.pb.go graph_data_abnormal_finish.go graph_data_purge_timestamps.go graph_data_query.go graph_data_update.go graph_query.pb.go graph_query_normalize.go id_helpers.go json_result.go pb.discovery.go proto_gae.gen.go queries.go quest_desc_normalize.go service.pb.go types.pb.go walk_graph.pb.go walk_graph_normalize.go

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 Uses

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 Uses

func RegisterDepsServer(s prpc.Registrar, srv DepsServer)

type AbnormalFinish Uses

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

func (*AbnormalFinish) Descriptor Uses

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

func (*AbnormalFinish) FromProperty Uses

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 Uses

func (m *AbnormalFinish) GetReason() string

func (*AbnormalFinish) GetStatus Uses

func (m *AbnormalFinish) GetStatus() AbnormalFinish_Status

func (*AbnormalFinish) ProtoMessage Uses

func (*AbnormalFinish) ProtoMessage()

func (*AbnormalFinish) Reset Uses

func (m *AbnormalFinish) Reset()

func (*AbnormalFinish) String Uses

func (m *AbnormalFinish) String() string

func (*AbnormalFinish) ToProperty Uses

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 Uses

func (m *AbnormalFinish) XXX_DiscardUnknown()

func (*AbnormalFinish) XXX_Marshal Uses

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

func (*AbnormalFinish) XXX_Merge Uses

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

func (*AbnormalFinish) XXX_Size Uses

func (m *AbnormalFinish) XXX_Size() int

func (*AbnormalFinish) XXX_Unmarshal Uses

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

type AbnormalFinish_Status Uses

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 Uses

func (s AbnormalFinish_Status) CouldRetry() bool

CouldRetry returns true iff this status code is retryable.

func (AbnormalFinish_Status) EnumDescriptor Uses

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

func (AbnormalFinish_Status) String Uses

func (x AbnormalFinish_Status) String() string

type ActivateExecutionReq Uses

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" 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 Uses

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

func (*ActivateExecutionReq) GetAuth Uses

func (m *ActivateExecutionReq) GetAuth() *Execution_Auth

func (*ActivateExecutionReq) GetExecutionToken Uses

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

func (*ActivateExecutionReq) Normalize Uses

func (a *ActivateExecutionReq) Normalize() error

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

func (*ActivateExecutionReq) ProtoMessage Uses

func (*ActivateExecutionReq) ProtoMessage()

func (*ActivateExecutionReq) Reset Uses

func (m *ActivateExecutionReq) Reset()

func (*ActivateExecutionReq) String Uses

func (m *ActivateExecutionReq) String() string

func (*ActivateExecutionReq) XXX_DiscardUnknown Uses

func (m *ActivateExecutionReq) XXX_DiscardUnknown()

func (*ActivateExecutionReq) XXX_Marshal Uses

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

func (*ActivateExecutionReq) XXX_Merge Uses

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

func (*ActivateExecutionReq) XXX_Size Uses

func (m *ActivateExecutionReq) XXX_Size() int

func (*ActivateExecutionReq) XXX_Unmarshal Uses

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

type Attempt Uses

type Attempt struct {
    Id  *Attempt_ID `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
    // DNE is set to true if this Attempt does not exist. None of the following
    // fields are valid if this is set to true.
    DNE  bool          `protobuf:"varint,2,opt,name=DNE" json:"DNE,omitempty"`
    Data *Attempt_Data `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"`
    // key is the `id` field of the Execution.ID
    Executions map[uint32]*Execution `protobuf:"bytes,4,rep,name=executions" json:"executions,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    FwdDeps    *AttemptList          `protobuf:"bytes,5,opt,name=fwd_deps,json=fwdDeps" json:"fwd_deps,omitempty"`
    BackDeps   *AttemptList          `protobuf:"bytes,6,opt,name=back_deps,json=backDeps" json:"back_deps,omitempty"`
    // Partial values are true iff the request asked for AttemptData, Executions
    // or Deps, but wasn't able to completely fill them. If Partial is omitted,
    // it means that no partial data exists in this Attempt.
    Partial              *Attempt_Partial `protobuf:"bytes,16,opt,name=partial" json:"partial,omitempty"`
    XXX_NoUnkeyedLiteral struct{}         `json:"-"`
    XXX_unrecognized     []byte           `json:"-"`
    XXX_sizecache        int32            `json:"-"`
}

func NewAttemptAbnormalFinish Uses

func NewAttemptAbnormalFinish(af *AbnormalFinish) *Attempt

NewAttemptAbnormalFinish creates an Attempt in the ABNORMAL_FINISH state.

func NewAttemptExecuting Uses

func NewAttemptExecuting(curExID uint32) *Attempt

NewAttemptExecuting creates an Attempt in the EXECUTING state.

func NewAttemptFinished Uses

func NewAttemptFinished(result *JsonResult) *Attempt

NewAttemptFinished creates an Attempt in the FINISHED state.

func NewAttemptScheduling Uses

func NewAttemptScheduling() *Attempt

NewAttemptScheduling creates an Attempt in the SCHEDULING state.

func NewAttemptWaiting Uses

func NewAttemptWaiting(numWaiting uint32) *Attempt

NewAttemptWaiting creates an Attempt in the WAITING state.

func (*Attempt) Descriptor Uses

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

func (*Attempt) GetBackDeps Uses

func (m *Attempt) GetBackDeps() *AttemptList

func (*Attempt) GetDNE Uses

func (m *Attempt) GetDNE() bool

func (*Attempt) GetData Uses

func (m *Attempt) GetData() *Attempt_Data

func (*Attempt) GetExecutions Uses

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

func (*Attempt) GetFwdDeps Uses

func (m *Attempt) GetFwdDeps() *AttemptList

func (*Attempt) GetId Uses

func (m *Attempt) GetId() *Attempt_ID

func (*Attempt) GetPartial Uses

func (m *Attempt) GetPartial() *Attempt_Partial

func (*Attempt) NormalizePartial Uses

func (d *Attempt) NormalizePartial()

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

func (*Attempt) ProtoMessage Uses

func (*Attempt) ProtoMessage()

func (*Attempt) PurgeTimestamps Uses

func (a *Attempt) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Attempt) Reset Uses

func (m *Attempt) Reset()

func (*Attempt) String Uses

func (m *Attempt) String() string

func (*Attempt) UpdateWith Uses

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

UpdateWith updates this Attempt with data from other.

func (*Attempt) XXX_DiscardUnknown Uses

func (m *Attempt) XXX_DiscardUnknown()

func (*Attempt) XXX_Marshal Uses

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

func (*Attempt) XXX_Merge Uses

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

func (*Attempt) XXX_Size Uses

func (m *Attempt) XXX_Size() int

func (*Attempt) XXX_Unmarshal Uses

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

type AttemptList Uses

type AttemptList struct {
    // To is a map of quests-to-attempts to depend on. So if you want to depend
    // on the attempt "foo|1", "foo|2" and "bar|1", this would look like:
    //   {
    //     "foo": [1, 2],
    //     "bar": [1],
    //   }
    To                   map[string]*AttemptList_Nums `protobuf:"bytes,2,rep,name=to" json:"to,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    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 Uses

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 Uses

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

AddAIDs adds the given Attempt_ID to the AttemptList

func (*AttemptList) Descriptor Uses

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

func (*AttemptList) Dup Uses

func (a *AttemptList) Dup() *AttemptList

Dup does a deep copy of this AttemptList.

func (*AttemptList) GetTo Uses

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

func (*AttemptList) Normalize Uses

func (a *AttemptList) Normalize() error

Normalize sorts and uniq's attempt nums

func (*AttemptList) ProtoMessage Uses

func (*AttemptList) ProtoMessage()

func (*AttemptList) Reset Uses

func (m *AttemptList) Reset()

func (*AttemptList) String Uses

func (m *AttemptList) String() string

func (*AttemptList) UpdateWith Uses

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

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

func (*AttemptList) XXX_DiscardUnknown Uses

func (m *AttemptList) XXX_DiscardUnknown()

func (*AttemptList) XXX_Marshal Uses

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

func (*AttemptList) XXX_Merge Uses

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

func (*AttemptList) XXX_Size Uses

func (m *AttemptList) XXX_Size() int

func (*AttemptList) XXX_Unmarshal Uses

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

type AttemptList_Nums Uses

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

func (*AttemptList_Nums) Descriptor Uses

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

func (*AttemptList_Nums) GetNums Uses

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

func (*AttemptList_Nums) Normalize Uses

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 Uses

func (*AttemptList_Nums) ProtoMessage()

func (*AttemptList_Nums) Reset Uses

func (m *AttemptList_Nums) Reset()

func (*AttemptList_Nums) String Uses

func (m *AttemptList_Nums) String() string

func (*AttemptList_Nums) XXX_DiscardUnknown Uses

func (m *AttemptList_Nums) XXX_DiscardUnknown()

func (*AttemptList_Nums) XXX_Marshal Uses

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

func (*AttemptList_Nums) XXX_Merge Uses

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

func (*AttemptList_Nums) XXX_Size Uses

func (m *AttemptList_Nums) XXX_Size() int

func (*AttemptList_Nums) XXX_Unmarshal Uses

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

type Attempt_Data Uses

type Attempt_Data struct {
    Created       *timestamp.Timestamp `protobuf:"bytes,1,opt,name=created" json:"created,omitempty"`
    Modified      *timestamp.Timestamp `protobuf:"bytes,2,opt,name=modified" json:"modified,omitempty"`
    NumExecutions uint32               `protobuf:"varint,3,opt,name=num_executions,json=numExecutions" 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 Uses

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

func (*Attempt_Data) GetAbnormalFinish Uses

func (m *Attempt_Data) GetAbnormalFinish() *AbnormalFinish

func (*Attempt_Data) GetAttemptType Uses

func (m *Attempt_Data) GetAttemptType() isAttempt_Data_AttemptType

func (*Attempt_Data) GetCreated Uses

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

func (*Attempt_Data) GetExecuting Uses

func (m *Attempt_Data) GetExecuting() *Attempt_Data_Executing

func (*Attempt_Data) GetFinished Uses

func (m *Attempt_Data) GetFinished() *Attempt_Data_Finished

func (*Attempt_Data) GetModified Uses

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

func (*Attempt_Data) GetNumExecutions Uses

func (m *Attempt_Data) GetNumExecutions() uint32

func (*Attempt_Data) GetScheduling Uses

func (m *Attempt_Data) GetScheduling() *Attempt_Data_Scheduling

func (*Attempt_Data) GetWaiting Uses

func (m *Attempt_Data) GetWaiting() *Attempt_Data_Waiting

func (*Attempt_Data) ProtoMessage Uses

func (*Attempt_Data) ProtoMessage()

func (*Attempt_Data) PurgeTimestamps Uses

func (ad *Attempt_Data) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Attempt_Data) Reset Uses

func (m *Attempt_Data) Reset()

func (*Attempt_Data) State Uses

func (d *Attempt_Data) State() Attempt_State

State computes the Attempt_State for the current Attempt_Data

func (*Attempt_Data) String Uses

func (m *Attempt_Data) String() string

func (*Attempt_Data) UpdateWith Uses

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

UpdateWith updates this Attempt_Data with data from other.

func (*Attempt_Data) XXX_DiscardUnknown Uses

func (m *Attempt_Data) XXX_DiscardUnknown()

func (*Attempt_Data) XXX_Marshal Uses

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

func (*Attempt_Data) XXX_Merge Uses

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

func (*Attempt_Data) XXX_OneofFuncs Uses

func (*Attempt_Data) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Attempt_Data) XXX_Size Uses

func (m *Attempt_Data) XXX_Size() int

func (*Attempt_Data) XXX_Unmarshal Uses

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

type Attempt_Data_AbnormalFinish Uses

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

type Attempt_Data_Executing Uses

type Attempt_Data_Executing struct {
    CurExecutionId       uint32   `protobuf:"varint,1,opt,name=cur_execution_id,json=curExecutionId" 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 Uses

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

func (*Attempt_Data_Executing) GetCurExecutionId Uses

func (m *Attempt_Data_Executing) GetCurExecutionId() uint32

func (*Attempt_Data_Executing) ProtoMessage Uses

func (*Attempt_Data_Executing) ProtoMessage()

func (*Attempt_Data_Executing) Reset Uses

func (m *Attempt_Data_Executing) Reset()

func (*Attempt_Data_Executing) String Uses

func (m *Attempt_Data_Executing) String() string

func (*Attempt_Data_Executing) XXX_DiscardUnknown Uses

func (m *Attempt_Data_Executing) XXX_DiscardUnknown()

func (*Attempt_Data_Executing) XXX_Marshal Uses

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

func (*Attempt_Data_Executing) XXX_Merge Uses

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

func (*Attempt_Data_Executing) XXX_Size Uses

func (m *Attempt_Data_Executing) XXX_Size() int

func (*Attempt_Data_Executing) XXX_Unmarshal Uses

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

type Attempt_Data_Executing_ Uses

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

type Attempt_Data_Finished Uses

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" json:"data,omitempty"`
    XXX_NoUnkeyedLiteral struct{}    `json:"-"`
    XXX_unrecognized     []byte      `json:"-"`
    XXX_sizecache        int32       `json:"-"`
}

This attempt is complete.

func (*Attempt_Data_Finished) Descriptor Uses

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

func (*Attempt_Data_Finished) GetData Uses

func (m *Attempt_Data_Finished) GetData() *JsonResult

func (*Attempt_Data_Finished) ProtoMessage Uses

func (*Attempt_Data_Finished) ProtoMessage()

func (*Attempt_Data_Finished) Reset Uses

func (m *Attempt_Data_Finished) Reset()

func (*Attempt_Data_Finished) String Uses

func (m *Attempt_Data_Finished) String() string

func (*Attempt_Data_Finished) XXX_DiscardUnknown Uses

func (m *Attempt_Data_Finished) XXX_DiscardUnknown()

func (*Attempt_Data_Finished) XXX_Marshal Uses

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

func (*Attempt_Data_Finished) XXX_Merge Uses

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

func (*Attempt_Data_Finished) XXX_Size Uses

func (m *Attempt_Data_Finished) XXX_Size() int

func (*Attempt_Data_Finished) XXX_Unmarshal Uses

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

type Attempt_Data_Finished_ Uses

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

func (*Attempt_Data_Finished_) PurgeTimestamps Uses

func (f *Attempt_Data_Finished_) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

type Attempt_Data_Scheduling Uses

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 Uses

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

func (*Attempt_Data_Scheduling) ProtoMessage Uses

func (*Attempt_Data_Scheduling) ProtoMessage()

func (*Attempt_Data_Scheduling) Reset Uses

func (m *Attempt_Data_Scheduling) Reset()

func (*Attempt_Data_Scheduling) String Uses

func (m *Attempt_Data_Scheduling) String() string

func (*Attempt_Data_Scheduling) XXX_DiscardUnknown Uses

func (m *Attempt_Data_Scheduling) XXX_DiscardUnknown()

func (*Attempt_Data_Scheduling) XXX_Marshal Uses

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

func (*Attempt_Data_Scheduling) XXX_Merge Uses

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

func (*Attempt_Data_Scheduling) XXX_Size Uses

func (m *Attempt_Data_Scheduling) XXX_Size() int

func (*Attempt_Data_Scheduling) XXX_Unmarshal Uses

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

type Attempt_Data_Scheduling_ Uses

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

type Attempt_Data_Waiting Uses

type Attempt_Data_Waiting struct {
    NumWaiting           uint32   `protobuf:"varint,1,opt,name=num_waiting,json=numWaiting" 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 Uses

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

func (*Attempt_Data_Waiting) GetNumWaiting Uses

func (m *Attempt_Data_Waiting) GetNumWaiting() uint32

func (*Attempt_Data_Waiting) ProtoMessage Uses

func (*Attempt_Data_Waiting) ProtoMessage()

func (*Attempt_Data_Waiting) Reset Uses

func (m *Attempt_Data_Waiting) Reset()

func (*Attempt_Data_Waiting) String Uses

func (m *Attempt_Data_Waiting) String() string

func (*Attempt_Data_Waiting) XXX_DiscardUnknown Uses

func (m *Attempt_Data_Waiting) XXX_DiscardUnknown()

func (*Attempt_Data_Waiting) XXX_Marshal Uses

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

func (*Attempt_Data_Waiting) XXX_Merge Uses

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

func (*Attempt_Data_Waiting) XXX_Size Uses

func (m *Attempt_Data_Waiting) XXX_Size() int

func (*Attempt_Data_Waiting) XXX_Unmarshal Uses

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

type Attempt_Data_Waiting_ Uses

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

type Attempt_ID Uses

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

func NewAttemptID Uses

func NewAttemptID(qst string, aid uint32) *Attempt_ID

NewAttemptID is a shorthand to New a new *Attempt_ID

func (*Attempt_ID) DMEncoded Uses

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 Uses

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

func (*Attempt_ID) Equals Uses

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

Equals returns true iff the two Attempt_IDs are equivalent.

func (*Attempt_ID) Execution Uses

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

Execution returns an Execution_ID for this Attempt.

func (*Attempt_ID) FromProperty Uses

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

FromProperty implements datastore.PropertyConverter

func (*Attempt_ID) GetId Uses

func (m *Attempt_ID) GetId() uint32

func (*Attempt_ID) GetQuest Uses

func (m *Attempt_ID) GetQuest() string

func (*Attempt_ID) ProtoMessage Uses

func (*Attempt_ID) ProtoMessage()

func (*Attempt_ID) QuestID Uses

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 Uses

func (m *Attempt_ID) Reset()

func (*Attempt_ID) SetDMEncoded Uses

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 Uses

func (m *Attempt_ID) String() string

func (*Attempt_ID) ToProperty Uses

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 Uses

func (m *Attempt_ID) XXX_DiscardUnknown()

func (*Attempt_ID) XXX_Marshal Uses

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

func (*Attempt_ID) XXX_Merge Uses

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

func (*Attempt_ID) XXX_Size Uses

func (m *Attempt_ID) XXX_Size() int

func (*Attempt_ID) XXX_Unmarshal Uses

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

type Attempt_Partial Uses

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" 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" 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" 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" 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,enum=dm.Attempt_Partial_Result" json:"result,omitempty"`
    XXX_NoUnkeyedLiteral struct{}               `json:"-"`
    XXX_unrecognized     []byte                 `json:"-"`
    XXX_sizecache        int32                  `json:"-"`
}

func (*Attempt_Partial) Any Uses

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 Uses

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

func (*Attempt_Partial) GetBackDeps Uses

func (m *Attempt_Partial) GetBackDeps() bool

func (*Attempt_Partial) GetData Uses

func (m *Attempt_Partial) GetData() bool

func (*Attempt_Partial) GetExecutions Uses

func (m *Attempt_Partial) GetExecutions() bool

func (*Attempt_Partial) GetFwdDeps Uses

func (m *Attempt_Partial) GetFwdDeps() bool

func (*Attempt_Partial) GetResult Uses

func (m *Attempt_Partial) GetResult() Attempt_Partial_Result

func (*Attempt_Partial) ProtoMessage Uses

func (*Attempt_Partial) ProtoMessage()

func (*Attempt_Partial) Reset Uses

func (m *Attempt_Partial) Reset()

func (*Attempt_Partial) String Uses

func (m *Attempt_Partial) String() string

func (*Attempt_Partial) XXX_DiscardUnknown Uses

func (m *Attempt_Partial) XXX_DiscardUnknown()

func (*Attempt_Partial) XXX_Marshal Uses

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

func (*Attempt_Partial) XXX_Merge Uses

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

func (*Attempt_Partial) XXX_Size Uses

func (m *Attempt_Partial) XXX_Size() int

func (*Attempt_Partial) XXX_Unmarshal Uses

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

type Attempt_Partial_Result Uses

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 Uses

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

func (Attempt_Partial_Result) String Uses

func (x Attempt_Partial_Result) String() string

type Attempt_State Uses

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 Uses

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

func (*Attempt_State) Evolve Uses

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 Uses

func (s *Attempt_State) MustEvolve(newState Attempt_State)

MustEvolve is a panic'ing version of Evolve.

func (Attempt_State) String Uses

func (x Attempt_State) String() string

func (Attempt_State) Terminal Uses

func (s Attempt_State) Terminal() bool

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

type DecoratedDeps Uses

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(c 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(c context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedDeps) ActivateExecution Uses

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

func (*DecoratedDeps) EnsureGraphData Uses

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

func (*DecoratedDeps) FinishAttempt Uses

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

func (*DecoratedDeps) WalkGraph Uses

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

type DepsClient Uses

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 Uses

func NewDepsClient(cc *grpc.ClientConn) DepsClient

func NewDepsPRPCClient Uses

func NewDepsPRPCClient(client *prpc.Client) DepsClient

type DepsServer Uses

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 Uses

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" 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" 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" 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" 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" 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" json:"for_execution,omitempty"`
    Limit                *EnsureGraphDataReq_Limit   `protobuf:"bytes,7,opt,name=limit" json:"limit,omitempty"`
    Include              *EnsureGraphDataReq_Include `protobuf:"bytes,8,opt,name=include" 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 Uses

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

func (*EnsureGraphDataReq) GetForExecution Uses

func (m *EnsureGraphDataReq) GetForExecution() *Execution_Auth

func (*EnsureGraphDataReq) GetInclude Uses

func (m *EnsureGraphDataReq) GetInclude() *EnsureGraphDataReq_Include

func (*EnsureGraphDataReq) GetLimit Uses

func (m *EnsureGraphDataReq) GetLimit() *EnsureGraphDataReq_Limit

func (*EnsureGraphDataReq) GetQuest Uses

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

func (*EnsureGraphDataReq) GetQuestAttempt Uses

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

func (*EnsureGraphDataReq) GetRawAttempts Uses

func (m *EnsureGraphDataReq) GetRawAttempts() *AttemptList

func (*EnsureGraphDataReq) GetTemplateAttempt Uses

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

func (*EnsureGraphDataReq) GetTemplateQuest Uses

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

func (*EnsureGraphDataReq) Normalize Uses

func (r *EnsureGraphDataReq) Normalize() error

Normalize returns an error iff the request is invalid.

func (*EnsureGraphDataReq) ProtoMessage Uses

func (*EnsureGraphDataReq) ProtoMessage()

func (*EnsureGraphDataReq) Reset Uses

func (m *EnsureGraphDataReq) Reset()

func (*EnsureGraphDataReq) String Uses

func (m *EnsureGraphDataReq) String() string

func (*EnsureGraphDataReq) XXX_DiscardUnknown Uses

func (m *EnsureGraphDataReq) XXX_DiscardUnknown()

func (*EnsureGraphDataReq) XXX_Marshal Uses

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

func (*EnsureGraphDataReq) XXX_Merge Uses

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

func (*EnsureGraphDataReq) XXX_Size Uses

func (m *EnsureGraphDataReq) XXX_Size() int

func (*EnsureGraphDataReq) XXX_Unmarshal Uses

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

type EnsureGraphDataReq_Include Uses

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

func (*EnsureGraphDataReq_Include) Descriptor Uses

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

func (*EnsureGraphDataReq_Include) GetAttempt Uses

func (m *EnsureGraphDataReq_Include) GetAttempt() *EnsureGraphDataReq_Include_Options

func (*EnsureGraphDataReq_Include) ProtoMessage Uses

func (*EnsureGraphDataReq_Include) ProtoMessage()

func (*EnsureGraphDataReq_Include) Reset Uses

func (m *EnsureGraphDataReq_Include) Reset()

func (*EnsureGraphDataReq_Include) String Uses

func (m *EnsureGraphDataReq_Include) String() string

func (*EnsureGraphDataReq_Include) XXX_DiscardUnknown Uses

func (m *EnsureGraphDataReq_Include) XXX_DiscardUnknown()

func (*EnsureGraphDataReq_Include) XXX_Marshal Uses

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

func (*EnsureGraphDataReq_Include) XXX_Merge Uses

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

func (*EnsureGraphDataReq_Include) XXX_Size Uses

func (m *EnsureGraphDataReq_Include) XXX_Size() int

func (*EnsureGraphDataReq_Include) XXX_Unmarshal Uses

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

type EnsureGraphDataReq_Include_Options Uses

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

func (*EnsureGraphDataReq_Include_Options) Descriptor Uses

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

func (*EnsureGraphDataReq_Include_Options) GetResult Uses

func (m *EnsureGraphDataReq_Include_Options) GetResult() bool

func (*EnsureGraphDataReq_Include_Options) ProtoMessage Uses

func (*EnsureGraphDataReq_Include_Options) ProtoMessage()

func (*EnsureGraphDataReq_Include_Options) Reset Uses

func (m *EnsureGraphDataReq_Include_Options) Reset()

func (*EnsureGraphDataReq_Include_Options) String Uses

func (m *EnsureGraphDataReq_Include_Options) String() string

func (*EnsureGraphDataReq_Include_Options) XXX_DiscardUnknown Uses

func (m *EnsureGraphDataReq_Include_Options) XXX_DiscardUnknown()

func (*EnsureGraphDataReq_Include_Options) XXX_Marshal Uses

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

func (*EnsureGraphDataReq_Include_Options) XXX_Merge Uses

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

func (*EnsureGraphDataReq_Include_Options) XXX_Size Uses

func (m *EnsureGraphDataReq_Include_Options) XXX_Size() int

func (*EnsureGraphDataReq_Include_Options) XXX_Unmarshal Uses

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

type EnsureGraphDataReq_Limit Uses

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" json:"max_data_size,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*EnsureGraphDataReq_Limit) Descriptor Uses

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

func (*EnsureGraphDataReq_Limit) GetMaxDataSize Uses

func (m *EnsureGraphDataReq_Limit) GetMaxDataSize() uint32

func (*EnsureGraphDataReq_Limit) ProtoMessage Uses

func (*EnsureGraphDataReq_Limit) ProtoMessage()

func (*EnsureGraphDataReq_Limit) Reset Uses

func (m *EnsureGraphDataReq_Limit) Reset()

func (*EnsureGraphDataReq_Limit) String Uses

func (m *EnsureGraphDataReq_Limit) String() string

func (*EnsureGraphDataReq_Limit) XXX_DiscardUnknown Uses

func (m *EnsureGraphDataReq_Limit) XXX_DiscardUnknown()

func (*EnsureGraphDataReq_Limit) XXX_Marshal Uses

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

func (*EnsureGraphDataReq_Limit) XXX_Merge Uses

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

func (*EnsureGraphDataReq_Limit) XXX_Size Uses

func (m *EnsureGraphDataReq_Limit) XXX_Size() int

func (*EnsureGraphDataReq_Limit) XXX_Unmarshal Uses

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

type EnsureGraphDataRsp Uses

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" 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" 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" 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" 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" 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" json:"should_halt,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*EnsureGraphDataRsp) Descriptor Uses

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

func (*EnsureGraphDataRsp) GetAccepted Uses

func (m *EnsureGraphDataRsp) GetAccepted() bool

func (*EnsureGraphDataRsp) GetQuestIds Uses

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

func (*EnsureGraphDataRsp) GetResult Uses

func (m *EnsureGraphDataRsp) GetResult() *GraphData

func (*EnsureGraphDataRsp) GetShouldHalt Uses

func (m *EnsureGraphDataRsp) GetShouldHalt() bool

func (*EnsureGraphDataRsp) GetTemplateError Uses

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

func (*EnsureGraphDataRsp) GetTemplateIds Uses

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

func (*EnsureGraphDataRsp) ProtoMessage Uses

func (*EnsureGraphDataRsp) ProtoMessage()

func (*EnsureGraphDataRsp) Reset Uses

func (m *EnsureGraphDataRsp) Reset()

func (*EnsureGraphDataRsp) String Uses

func (m *EnsureGraphDataRsp) String() string

func (*EnsureGraphDataRsp) XXX_DiscardUnknown Uses

func (m *EnsureGraphDataRsp) XXX_DiscardUnknown()

func (*EnsureGraphDataRsp) XXX_Marshal Uses

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

func (*EnsureGraphDataRsp) XXX_Merge Uses

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

func (*EnsureGraphDataRsp) XXX_Size Uses

func (m *EnsureGraphDataRsp) XXX_Size() int

func (*EnsureGraphDataRsp) XXX_Unmarshal Uses

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

type Execution Uses

type Execution struct {
    Id   *Execution_ID   `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
    Data *Execution_Data `protobuf:"bytes,2,opt,name=data" 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" json:"partial,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func NewExecutionAbnormalFinish Uses

func NewExecutionAbnormalFinish(af *AbnormalFinish) *Execution

NewExecutionAbnormalFinish creates an Execution in the ABNORMAL_FINISH state.

func NewExecutionFinished Uses

func NewExecutionFinished(result *JsonResult) *Execution

NewExecutionFinished creates an Execution in the FINISHED state.

func NewExecutionRunning Uses

func NewExecutionRunning() *Execution

NewExecutionRunning creates an Execution in the RUNNING state.

func NewExecutionScheduling Uses

func NewExecutionScheduling() *Execution

NewExecutionScheduling creates an Execution in the SCHEDULING state.

func NewExecutionStopping Uses

func NewExecutionStopping() *Execution

NewExecutionStopping creates an Execution in the STOPPING state.

func (*Execution) Descriptor Uses

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

func (*Execution) GetData Uses

func (m *Execution) GetData() *Execution_Data

func (*Execution) GetId Uses

func (m *Execution) GetId() *Execution_ID

func (*Execution) GetPartial Uses

func (m *Execution) GetPartial() bool

func (*Execution) ProtoMessage Uses

func (*Execution) ProtoMessage()

func (*Execution) PurgeTimestamps Uses

func (e *Execution) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Execution) Reset Uses

func (m *Execution) Reset()

func (*Execution) String Uses

func (m *Execution) String() string

func (*Execution) UpdateWith Uses

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

UpdateWith updates this Execution with data from other.

func (*Execution) XXX_DiscardUnknown Uses

func (m *Execution) XXX_DiscardUnknown()

func (*Execution) XXX_Marshal Uses

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

func (*Execution) XXX_Merge Uses

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

func (*Execution) XXX_Size Uses

func (m *Execution) XXX_Size() int

func (*Execution) XXX_Unmarshal Uses

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

type Execution_Auth Uses

type Execution_Auth struct {
    Id                   *Execution_ID `protobuf:"bytes,1,opt,name=id" 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 Uses

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

func (*Execution_Auth) FromProperty Uses

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 Uses

func (m *Execution_Auth) GetId() *Execution_ID

func (*Execution_Auth) GetToken Uses

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

func (*Execution_Auth) Normalize Uses

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 Uses

func (*Execution_Auth) ProtoMessage()

func (*Execution_Auth) Reset Uses

func (m *Execution_Auth) Reset()

func (*Execution_Auth) String Uses

func (m *Execution_Auth) String() string

func (*Execution_Auth) ToProperty Uses

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 Uses

func (m *Execution_Auth) XXX_DiscardUnknown()

func (*Execution_Auth) XXX_Marshal Uses

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

func (*Execution_Auth) XXX_Merge Uses

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

func (*Execution_Auth) XXX_Size Uses

func (m *Execution_Auth) XXX_Size() int

func (*Execution_Auth) XXX_Unmarshal Uses

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

type Execution_Data Uses

type Execution_Data struct {
    Created         *timestamp.Timestamp            `protobuf:"bytes,1,opt,name=created" json:"created,omitempty"`
    Modified        *timestamp.Timestamp            `protobuf:"bytes,2,opt,name=modified" json:"modified,omitempty"`
    DistributorInfo *Execution_Data_DistributorInfo `protobuf:"bytes,3,opt,name=distributor_info,json=distributorInfo" 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 Uses

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

func (*Execution_Data) GetAbnormalFinish Uses

func (m *Execution_Data) GetAbnormalFinish() *AbnormalFinish

func (*Execution_Data) GetCreated Uses

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

func (*Execution_Data) GetDistributorInfo Uses

func (m *Execution_Data) GetDistributorInfo() *Execution_Data_DistributorInfo

func (*Execution_Data) GetExecutionType Uses

func (m *Execution_Data) GetExecutionType() isExecution_Data_ExecutionType

func (*Execution_Data) GetFinished Uses

func (m *Execution_Data) GetFinished() *Execution_Data_Finished

func (*Execution_Data) GetModified Uses

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

func (*Execution_Data) GetRunning Uses

func (m *Execution_Data) GetRunning() *Execution_Data_Running

func (*Execution_Data) GetScheduling Uses

func (m *Execution_Data) GetScheduling() *Execution_Data_Scheduling

func (*Execution_Data) GetStopping Uses

func (m *Execution_Data) GetStopping() *Execution_Data_Stopping

func (*Execution_Data) ProtoMessage Uses

func (*Execution_Data) ProtoMessage()

func (*Execution_Data) PurgeTimestamps Uses

func (ed *Execution_Data) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Execution_Data) Reset Uses

func (m *Execution_Data) Reset()

func (*Execution_Data) State Uses

func (d *Execution_Data) State() Execution_State

State computes the Execution_State for the current Execution_Data

func (*Execution_Data) String Uses

func (m *Execution_Data) String() string

func (*Execution_Data) UpdateWith Uses

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

UpdateWith updates this Execution_Data with data from other.

func (*Execution_Data) XXX_DiscardUnknown Uses

func (m *Execution_Data) XXX_DiscardUnknown()

func (*Execution_Data) XXX_Marshal Uses

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

func (*Execution_Data) XXX_Merge Uses

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

func (*Execution_Data) XXX_OneofFuncs Uses

func (*Execution_Data) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Execution_Data) XXX_Size Uses

func (m *Execution_Data) XXX_Size() int

func (*Execution_Data) XXX_Unmarshal Uses

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

type Execution_Data_AbnormalFinish Uses

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

type Execution_Data_DistributorInfo Uses

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

func (*Execution_Data_DistributorInfo) Descriptor Uses

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

func (*Execution_Data_DistributorInfo) GetConfigName Uses

func (m *Execution_Data_DistributorInfo) GetConfigName() string

func (*Execution_Data_DistributorInfo) GetConfigVersion Uses

func (m *Execution_Data_DistributorInfo) GetConfigVersion() string

func (*Execution_Data_DistributorInfo) GetToken Uses

func (m *Execution_Data_DistributorInfo) GetToken() string

func (*Execution_Data_DistributorInfo) GetUrl Uses

func (m *Execution_Data_DistributorInfo) GetUrl() string

func (*Execution_Data_DistributorInfo) ProtoMessage Uses

func (*Execution_Data_DistributorInfo) ProtoMessage()

func (*Execution_Data_DistributorInfo) Reset Uses

func (m *Execution_Data_DistributorInfo) Reset()

func (*Execution_Data_DistributorInfo) String Uses

func (m *Execution_Data_DistributorInfo) String() string

func (*Execution_Data_DistributorInfo) XXX_DiscardUnknown Uses

func (m *Execution_Data_DistributorInfo) XXX_DiscardUnknown()

func (*Execution_Data_DistributorInfo) XXX_Marshal Uses

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

func (*Execution_Data_DistributorInfo) XXX_Merge Uses

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

func (*Execution_Data_DistributorInfo) XXX_Size Uses

func (m *Execution_Data_DistributorInfo) XXX_Size() int

func (*Execution_Data_DistributorInfo) XXX_Unmarshal Uses

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

type Execution_Data_Finished Uses

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

func (*Execution_Data_Finished) Descriptor Uses

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

func (*Execution_Data_Finished) GetData Uses

func (m *Execution_Data_Finished) GetData() *JsonResult

func (*Execution_Data_Finished) ProtoMessage Uses

func (*Execution_Data_Finished) ProtoMessage()

func (*Execution_Data_Finished) Reset Uses

func (m *Execution_Data_Finished) Reset()

func (*Execution_Data_Finished) String Uses

func (m *Execution_Data_Finished) String() string

func (*Execution_Data_Finished) XXX_DiscardUnknown Uses

func (m *Execution_Data_Finished) XXX_DiscardUnknown()

func (*Execution_Data_Finished) XXX_Marshal Uses

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

func (*Execution_Data_Finished) XXX_Merge Uses

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

func (*Execution_Data_Finished) XXX_Size Uses

func (m *Execution_Data_Finished) XXX_Size() int

func (*Execution_Data_Finished) XXX_Unmarshal Uses

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

type Execution_Data_Finished_ Uses

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

type Execution_Data_Running Uses

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

func (*Execution_Data_Running) Descriptor Uses

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

func (*Execution_Data_Running) ProtoMessage Uses

func (*Execution_Data_Running) ProtoMessage()

func (*Execution_Data_Running) Reset Uses

func (m *Execution_Data_Running) Reset()

func (*Execution_Data_Running) String Uses

func (m *Execution_Data_Running) String() string

func (*Execution_Data_Running) XXX_DiscardUnknown Uses

func (m *Execution_Data_Running) XXX_DiscardUnknown()

func (*Execution_Data_Running) XXX_Marshal Uses

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

func (*Execution_Data_Running) XXX_Merge Uses

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

func (*Execution_Data_Running) XXX_Size Uses

func (m *Execution_Data_Running) XXX_Size() int

func (*Execution_Data_Running) XXX_Unmarshal Uses

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

type Execution_Data_Running_ Uses

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

type Execution_Data_Scheduling Uses

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

func (*Execution_Data_Scheduling) Descriptor Uses

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

func (*Execution_Data_Scheduling) ProtoMessage Uses

func (*Execution_Data_Scheduling) ProtoMessage()

func (*Execution_Data_Scheduling) Reset Uses

func (m *Execution_Data_Scheduling) Reset()

func (*Execution_Data_Scheduling) String Uses

func (m *Execution_Data_Scheduling) String() string

func (*Execution_Data_Scheduling) XXX_DiscardUnknown Uses

func (m *Execution_Data_Scheduling) XXX_DiscardUnknown()

func (*Execution_Data_Scheduling) XXX_Marshal Uses

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

func (*Execution_Data_Scheduling) XXX_Merge Uses

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

func (*Execution_Data_Scheduling) XXX_Size Uses

func (m *Execution_Data_Scheduling) XXX_Size() int

func (*Execution_Data_Scheduling) XXX_Unmarshal Uses

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

type Execution_Data_Scheduling_ Uses

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

type Execution_Data_Stopping Uses

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

func (*Execution_Data_Stopping) Descriptor Uses

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

func (*Execution_Data_Stopping) ProtoMessage Uses

func (*Execution_Data_Stopping) ProtoMessage()

func (*Execution_Data_Stopping) Reset Uses

func (m *Execution_Data_Stopping) Reset()

func (*Execution_Data_Stopping) String Uses

func (m *Execution_Data_Stopping) String() string

func (*Execution_Data_Stopping) XXX_DiscardUnknown Uses

func (m *Execution_Data_Stopping) XXX_DiscardUnknown()

func (*Execution_Data_Stopping) XXX_Marshal Uses

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

func (*Execution_Data_Stopping) XXX_Merge Uses

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

func (*Execution_Data_Stopping) XXX_Size Uses

func (m *Execution_Data_Stopping) XXX_Size() int

func (*Execution_Data_Stopping) XXX_Unmarshal Uses

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

type Execution_Data_Stopping_ Uses

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

type Execution_ID Uses

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

func NewExecutionID Uses

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

NewExecutionID is a shorthand to New a new *Execution_ID

func (*Execution_ID) AttemptID Uses

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 Uses

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

func (*Execution_ID) Equals Uses

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

Equals returns true iff the two Execution_IDs are equivalent.

func (*Execution_ID) GetAttempt Uses

func (m *Execution_ID) GetAttempt() uint32

func (*Execution_ID) GetId Uses

func (m *Execution_ID) GetId() uint32

func (*Execution_ID) GetQuest Uses

func (m *Execution_ID) GetQuest() string

func (*Execution_ID) ProtoMessage Uses

func (*Execution_ID) ProtoMessage()

func (*Execution_ID) QuestID Uses

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 Uses

func (m *Execution_ID) Reset()

func (*Execution_ID) String Uses

func (m *Execution_ID) String() string

func (*Execution_ID) XXX_DiscardUnknown Uses

func (m *Execution_ID) XXX_DiscardUnknown()

func (*Execution_ID) XXX_Marshal Uses

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

func (*Execution_ID) XXX_Merge Uses

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

func (*Execution_ID) XXX_Size Uses

func (m *Execution_ID) XXX_Size() int

func (*Execution_ID) XXX_Unmarshal Uses

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

type Execution_State Uses

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 Uses

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

func (*Execution_State) Evolve Uses

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 Uses

func (s *Execution_State) MustEvolve(newState Execution_State)

MustEvolve is a panic'ing version of Evolve.

func (Execution_State) String Uses

func (x Execution_State) String() string

func (Execution_State) Terminal Uses

func (s Execution_State) Terminal() bool

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

type FinishAttemptReq Uses

type FinishAttemptReq struct {
    // required
    Auth *Execution_Auth `protobuf:"bytes,1,opt,name=auth" 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" 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 Uses

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

func (*FinishAttemptReq) GetAuth Uses

func (m *FinishAttemptReq) GetAuth() *Execution_Auth

func (*FinishAttemptReq) GetData Uses

func (m *FinishAttemptReq) GetData() *JsonResult

func (*FinishAttemptReq) Normalize Uses

func (a *FinishAttemptReq) Normalize() error

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

func (*FinishAttemptReq) ProtoMessage Uses

func (*FinishAttemptReq) ProtoMessage()

func (*FinishAttemptReq) Reset Uses

func (m *FinishAttemptReq) Reset()

func (*FinishAttemptReq) String Uses

func (m *FinishAttemptReq) String() string

func (*FinishAttemptReq) XXX_DiscardUnknown Uses

func (m *FinishAttemptReq) XXX_DiscardUnknown()

func (*FinishAttemptReq) XXX_Marshal Uses

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

func (*FinishAttemptReq) XXX_Merge Uses

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

func (*FinishAttemptReq) XXX_Size Uses

func (m *FinishAttemptReq) XXX_Size() int

func (*FinishAttemptReq) XXX_Unmarshal Uses

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

type GraphData Uses

type GraphData struct {
    // Quests is the main entry point for all the graph data.
    // key is the `id` field of the QuestID
    Quests map[string]*Quest `protobuf:"bytes,1,rep,name=quests" json:"quests,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    // HadErrors is set to true if the data represented here is a partial view
    // of the requested data due to internal errors. The request may be repeated
    // or the client may chose to make smaller queries into the portions of the
    // graph that are missing.
    //
    // If HadErrors is set HadMore will also be set.
    HadErrors bool `protobuf:"varint,2,opt,name=had_errors,json=hadErrors" json:"had_errors,omitempty"`
    // HadMore is set to true if the request stopped short of the full query
    // result set due to things like:
    //   * max response size limit
    //   * max time limit (e.g. WalkGraphReq.MaxTime) being hit
    //   * non-terminal errors encountered during the request (HadErrors will also
    //     be true in this case).
    //
    // Note that this is different than the Partial booleans: This refers
    // specifically to situations when Queries do not run to completion.
    HadMore              bool     `protobuf:"varint,3,opt,name=had_more,json=hadMore" 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 Uses

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

func (*GraphData) GetHadErrors Uses

func (m *GraphData) GetHadErrors() bool

func (*GraphData) GetHadMore Uses

func (m *GraphData) GetHadMore() bool

func (*GraphData) GetQuest Uses

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 Uses

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

func (*GraphData) ProtoMessage Uses

func (*GraphData) ProtoMessage()

func (*GraphData) PurgeTimestamps Uses

func (g *GraphData) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*GraphData) Reset Uses

func (m *GraphData) Reset()

func (*GraphData) String Uses

func (m *GraphData) String() string

func (*GraphData) ToQuery Uses

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 Uses

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 Uses

func (m *GraphData) XXX_DiscardUnknown()

func (*GraphData) XXX_Marshal Uses

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

func (*GraphData) XXX_Merge Uses

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

func (*GraphData) XXX_Size Uses

func (m *GraphData) XXX_Size() int

func (*GraphData) XXX_Unmarshal Uses

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

type GraphQuery Uses

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" 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" json:"attempt_range,omitempty"`
    Search               []*GraphQuery_Search       `protobuf:"bytes,3,rep,name=search" 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 Uses

func AttemptListQuery(fanout *AttemptList) *GraphQuery

AttemptListQuery returns a new GraphQuery for the given AttemptList.

func AttemptListQueryL Uses

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

AttemptListQueryL returns a new GraphQuery for the given AttemptList literal.

func AttemptRangeQuery Uses

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

AttemptRangeQuery returns a new GraphQuery for the given AttemptRange specification.

func (*GraphQuery) Descriptor Uses

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

func (*GraphQuery) GetAttemptList Uses

func (m *GraphQuery) GetAttemptList() *AttemptList

func (*GraphQuery) GetAttemptRange Uses

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

func (*GraphQuery) GetSearch Uses

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

func (*GraphQuery) Normalize Uses

func (g *GraphQuery) Normalize() error

Normalize returns an error iff this GraphQuery is not valid.

func (*GraphQuery) ProtoMessage Uses

func (*GraphQuery) ProtoMessage()

func (*GraphQuery) Reset Uses

func (m *GraphQuery) Reset()

func (*GraphQuery) String Uses

func (m *GraphQuery) String() string

func (*GraphQuery) XXX_DiscardUnknown Uses

func (m *GraphQuery) XXX_DiscardUnknown()

func (*GraphQuery) XXX_Marshal Uses

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

func (*GraphQuery) XXX_Merge Uses

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

func (*GraphQuery) XXX_Size Uses

func (m *GraphQuery) XXX_Size() int

func (*GraphQuery) XXX_Unmarshal Uses

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

type GraphQuery_AttemptRange Uses

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

func (*GraphQuery_AttemptRange) Descriptor Uses

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

func (*GraphQuery_AttemptRange) GetHigh Uses

func (m *GraphQuery_AttemptRange) GetHigh() uint32

func (*GraphQuery_AttemptRange) GetLow Uses

func (m *GraphQuery_AttemptRange) GetLow() uint32

func (*GraphQuery_AttemptRange) GetQuest Uses

func (m *GraphQuery_AttemptRange) GetQuest() string

func (*GraphQuery_AttemptRange) Normalize Uses

func (al *GraphQuery_AttemptRange) Normalize() error

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

func (*GraphQuery_AttemptRange) ProtoMessage Uses

func (*GraphQuery_AttemptRange) ProtoMessage()

func (*GraphQuery_AttemptRange) Reset Uses

func (m *GraphQuery_AttemptRange) Reset()

func (*GraphQuery_AttemptRange) String Uses

func (m *GraphQuery_AttemptRange) String() string

func (*GraphQuery_AttemptRange) XXX_DiscardUnknown Uses

func (m *GraphQuery_AttemptRange) XXX_DiscardUnknown()

func (*GraphQuery_AttemptRange) XXX_Marshal Uses

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

func (*GraphQuery_AttemptRange) XXX_Merge Uses

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

func (*GraphQuery_AttemptRange) XXX_Size Uses

func (m *GraphQuery_AttemptRange) XXX_Size() int

func (*GraphQuery_AttemptRange) XXX_Unmarshal Uses

func (m *GraphQuery_AttemptRange) XXX_Unmarshal(b []byte) error
type GraphQuery_Search struct {
    // Domain indicates which class of objects your query applies to. The fields
    // available to query are defined by the `data` field in the corresponding
    // GraphData message.
    //
    // Additionally `Attempt` has a special field $quest whose subfields are
    // queriable in the exact same way that a search in a Quest domain works.
    Domain GraphQuery_Search_Domain `protobuf:"varint,1,opt,name=domain,enum=dm.GraphQuery_Search_Domain" json:"domain,omitempty"`
    // Start and End are optional restrictions on the first sort property. For
    // now, these are just restrictions on the 'created' timestamp for either
    // the Quest or Attempt, depending on the SearchDomain.
    Start *PropertyValue `protobuf:"bytes,3,opt,name=start" json:"start,omitempty"`
    End   *PropertyValue `protobuf:"bytes,4,opt,name=end" json:"end,omitempty"`
    // ApproxFilters allows you to filter on 'approximate' fields. Approximate
    // fields are the json path to the value, without any array subscripts. For
    // example, if your document looked like:
    //
    //   {
    //     "some": ["list", {"of": ["data", "and", "stuff"]}],
    //   }
    //
    // Then the following approximate filters would match:
    //   "some" = ["list"]
    //   "some.of" = ["data"]
    //   "some.of" = ["and"]
    //   "some.of" = ["stuff"]
    //   "some.of" = ["stuff", "and"]
    //   "some.of" = ["stuff", "and", "data"]
    //
    // This is useful for filtering documents where the order of parameters
    // in a list or sublist isn't known, or doesn't matter.
    ApproxFilters map[string]*MultiPropertyValue `protobuf:"bytes,5,rep,name=approx_filters,json=approxFilters" json:"approx_filters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    // ExactFilters allows you to filter on 'exact' fields. Exact fields are the
    // json path to the value, including array subscripts. For example if your
    // document looked like:
    //
    //   {
    //     "some": ["list", {"of": ["data", "and", "stuff"]}],
    //   }
    //
    // Then the following exact filters would match:
    //   "some[0]" = "list"
    //   "some[1].of[0]" = "data"
    //   "some[1].of[1]" = "and"
    //   "some[1].of[2]" = "stuff"
    //
    // This is useful for filtering documents where the order of parameters
    // in a list or sublist matters.
    ExactFilters         map[string]*PropertyValue `protobuf:"bytes,6,rep,name=exact_filters,json=exactFilters" json:"exact_filters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    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 Uses

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

func (*GraphQuery_Search) GetApproxFilters Uses

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

func (*GraphQuery_Search) GetDomain Uses

func (m *GraphQuery_Search) GetDomain() GraphQuery_Search_Domain

func (*GraphQuery_Search) GetEnd Uses

func (m *GraphQuery_Search) GetEnd() *PropertyValue

func (*GraphQuery_Search) GetExactFilters Uses

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

func (*GraphQuery_Search) GetStart Uses

func (m *GraphQuery_Search) GetStart() *PropertyValue

func (*GraphQuery_Search) Normalize Uses

func (s *GraphQuery_Search) Normalize() error

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

func (*GraphQuery_Search) ProtoMessage Uses

func (*GraphQuery_Search) ProtoMessage()

func (*GraphQuery_Search) Reset Uses

func (m *GraphQuery_Search) Reset()

func (*GraphQuery_Search) String Uses

func (m *GraphQuery_Search) String() string

func (*GraphQuery_Search) XXX_DiscardUnknown Uses

func (m *GraphQuery_Search) XXX_DiscardUnknown()

func (*GraphQuery_Search) XXX_Marshal Uses

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

func (*GraphQuery_Search) XXX_Merge Uses

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

func (*GraphQuery_Search) XXX_Size Uses

func (m *GraphQuery_Search) XXX_Size() int

func (*GraphQuery_Search) XXX_Unmarshal Uses

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

type GraphQuery_Search_Domain Uses

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 Uses

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

func (GraphQuery_Search_Domain) String Uses

func (x GraphQuery_Search_Domain) String() string

type JsonResult Uses

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" 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" 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" 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 Uses

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

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

func NewJsonResult Uses

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

NewJsonResult creates a new JsonResult object with optional expiration time.

func (*JsonResult) Descriptor Uses

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

func (*JsonResult) FromProperty Uses

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 Uses

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

func (*JsonResult) GetObject Uses

func (m *JsonResult) GetObject() string

func (*JsonResult) GetSize Uses

func (m *JsonResult) GetSize() uint32

func (*JsonResult) Normalize Uses

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 Uses

func (*JsonResult) ProtoMessage()

func (*JsonResult) Reset Uses

func (m *JsonResult) Reset()

func (*JsonResult) String Uses

func (m *JsonResult) String() string

func (*JsonResult) ToProperty Uses

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 Uses

func (m *JsonResult) XXX_DiscardUnknown()

func (*JsonResult) XXX_Marshal Uses

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

func (*JsonResult) XXX_Merge Uses

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

func (*JsonResult) XXX_Size Uses

func (m *JsonResult) XXX_Size() int

func (*JsonResult) XXX_Unmarshal Uses

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

type MultiPropertyValue Uses

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

func (*MultiPropertyValue) Descriptor Uses

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

func (*MultiPropertyValue) GetValues Uses

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

func (*MultiPropertyValue) ProtoMessage Uses

func (*MultiPropertyValue) ProtoMessage()

func (*MultiPropertyValue) Reset Uses

func (m *MultiPropertyValue) Reset()

func (*MultiPropertyValue) String Uses

func (m *MultiPropertyValue) String() string

func (*MultiPropertyValue) XXX_DiscardUnknown Uses

func (m *MultiPropertyValue) XXX_DiscardUnknown()

func (*MultiPropertyValue) XXX_Marshal Uses

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

func (*MultiPropertyValue) XXX_Merge Uses

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

func (*MultiPropertyValue) XXX_Size Uses

func (m *MultiPropertyValue) XXX_Size() int

func (*MultiPropertyValue) XXX_Unmarshal Uses

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

type PropertyValue Uses

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 Uses

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

func (*PropertyValue) GetBin Uses

func (m *PropertyValue) GetBin() bool

func (*PropertyValue) GetDat Uses

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

func (*PropertyValue) GetNull Uses

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

func (*PropertyValue) GetNum Uses

func (m *PropertyValue) GetNum() int64

func (*PropertyValue) GetStr Uses

func (m *PropertyValue) GetStr() string

func (*PropertyValue) GetTime Uses

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

func (*PropertyValue) GetValue Uses

func (m *PropertyValue) GetValue() isPropertyValue_Value

func (*PropertyValue) ProtoMessage Uses

func (*PropertyValue) ProtoMessage()

func (*PropertyValue) Reset Uses

func (m *PropertyValue) Reset()

func (*PropertyValue) String Uses

func (m *PropertyValue) String() string

func (*PropertyValue) XXX_DiscardUnknown Uses

func (m *PropertyValue) XXX_DiscardUnknown()

func (*PropertyValue) XXX_Marshal Uses

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

func (*PropertyValue) XXX_Merge Uses

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

func (*PropertyValue) XXX_OneofFuncs Uses

func (*PropertyValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*PropertyValue) XXX_Size Uses

func (m *PropertyValue) XXX_Size() int

func (*PropertyValue) XXX_Unmarshal Uses

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

type PropertyValue_Bin Uses

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

type PropertyValue_Dat Uses

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

type PropertyValue_Null Uses

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

type PropertyValue_Num Uses

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

type PropertyValue_Str Uses

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

type PropertyValue_Time Uses

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

type Quest Uses

type Quest struct {
    Id  *Quest_ID `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
    // DNE is set to true if this Quest does not exist. None of the following
    // fields are valid if this is set to true.
    DNE  bool        `protobuf:"varint,2,opt,name=DNE" json:"DNE,omitempty"`
    Data *Quest_Data `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"`
    // key is the `id` field of the Attempt.ID
    Attempts map[uint32]*Attempt `protobuf:"bytes,4,rep,name=attempts" json:"attempts,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    // Partial is true iff the request asked for QuestData, but wasn't able to
    // completely fill it.
    Partial              bool     `protobuf:"varint,16,opt,name=partial" json:"partial,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Quest) Descriptor Uses

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

func (*Quest) GetAttempts Uses

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

func (*Quest) GetDNE Uses

func (m *Quest) GetDNE() bool

func (*Quest) GetData Uses

func (m *Quest) GetData() *Quest_Data

func (*Quest) GetId Uses

func (m *Quest) GetId() *Quest_ID

func (*Quest) GetPartial Uses

func (m *Quest) GetPartial() bool

func (*Quest) ProtoMessage Uses

func (*Quest) ProtoMessage()

func (*Quest) PurgeTimestamps Uses

func (q *Quest) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Quest) Reset Uses

func (m *Quest) Reset()

func (*Quest) String Uses

func (m *Quest) String() string

func (*Quest) UpdateWith Uses

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

UpdateWith updates this Quest with data from other.

func (*Quest) XXX_DiscardUnknown Uses

func (m *Quest) XXX_DiscardUnknown()

func (*Quest) XXX_Marshal Uses

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

func (*Quest) XXX_Merge Uses

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

func (*Quest) XXX_Size Uses

func (m *Quest) XXX_Size() int

func (*Quest) XXX_Unmarshal Uses

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

type QuestTemplateSpecs Uses

type QuestTemplateSpecs []*Quest_TemplateSpec

QuestTemplateSpecs is a sortable slice of *Quest_TemplateSpec.

func (QuestTemplateSpecs) Len Uses

func (s QuestTemplateSpecs) Len() int

func (QuestTemplateSpecs) Less Uses

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

func (QuestTemplateSpecs) Swap Uses

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

type Quest_Data Uses

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

func (*Quest_Data) Descriptor Uses

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

func (*Quest_Data) GetBuiltBy Uses

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

func (*Quest_Data) GetCreated Uses

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

func (*Quest_Data) GetDesc Uses

func (m *Quest_Data) GetDesc() *Quest_Desc

func (*Quest_Data) ProtoMessage Uses

func (*Quest_Data) ProtoMessage()

func (*Quest_Data) PurgeTimestamps Uses

func (qd *Quest_Data) PurgeTimestamps()

PurgeTimestamps implements TimestampPurger.

func (*Quest_Data) Reset Uses

func (m *Quest_Data) Reset()

func (*Quest_Data) String Uses

func (m *Quest_Data) String() string

func (*Quest_Data) UpdateWith Uses

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

UpdateWith updates this Quest_Data with data from other.

func (*Quest_Data) XXX_DiscardUnknown Uses

func (m *Quest_Data) XXX_DiscardUnknown()

func (*Quest_Data) XXX_Marshal Uses

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

func (*Quest_Data) XXX_Merge Uses

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

func (*Quest_Data) XXX_Size Uses

func (m *Quest_Data) XXX_Size() int

func (*Quest_Data) XXX_Unmarshal Uses

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

type Quest_Desc Uses

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" 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" 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" 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" json:"meta,omitempty"`
    XXX_NoUnkeyedLiteral struct{}         `json:"-"`
    XXX_unrecognized     []byte           `json:"-"`
    XXX_sizecache        int32            `json:"-"`
}

func NewQuestDesc Uses

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 Uses

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

func (*Quest_Desc) FromProperty Uses

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 Uses

func (m *Quest_Desc) GetDistributorConfigName() string

func (*Quest_Desc) GetDistributorParameters Uses

func (m *Quest_Desc) GetDistributorParameters() string

func (*Quest_Desc) GetMeta Uses

func (m *Quest_Desc) GetMeta() *Quest_Desc_Meta

func (*Quest_Desc) GetParameters Uses

func (m *Quest_Desc) GetParameters() string

func (*Quest_Desc) Normalize Uses

func (q *Quest_Desc) Normalize() error

Normalize returns an error iff the Quest_Desc is invalid.

func (*Quest_Desc) ProtoMessage Uses

func (*Quest_Desc) ProtoMessage()

func (*Quest_Desc) QuestID Uses

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 Uses

func (m *Quest_Desc) Reset()

func (*Quest_Desc) String Uses

func (m *Quest_Desc) String() string

func (*Quest_Desc) ToProperty Uses

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 Uses

func (m *Quest_Desc) XXX_DiscardUnknown()

func (*Quest_Desc) XXX_Marshal Uses

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

func (*Quest_Desc) XXX_Merge Uses

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

func (*Quest_Desc) XXX_Size Uses

func (m *Quest_Desc) XXX_Size() int

func (*Quest_Desc) XXX_Unmarshal Uses

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

type Quest_Desc_Meta Uses

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" 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" json:"retry,omitempty"`
    Timeouts             *Quest_Desc_Meta_Timeouts `protobuf:"bytes,3,opt,name=timeouts" json:"timeouts,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
    XXX_unrecognized     []byte                    `json:"-"`
    XXX_sizecache        int32                     `json:"-"`
}

func (*Quest_Desc_Meta) Descriptor Uses

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

func (*Quest_Desc_Meta) GetAsAccount Uses

func (m *Quest_Desc_Meta) GetAsAccount() string

func (*Quest_Desc_Meta) GetRetry Uses

func (m *Quest_Desc_Meta) GetRetry() *Quest_Desc_Meta_Retry

func (*Quest_Desc_Meta) GetTimeouts Uses

func (m *Quest_Desc_Meta) GetTimeouts() *Quest_Desc_Meta_Timeouts

func (*Quest_Desc_Meta) IsEmpty Uses

func (q *Quest_Desc_Meta) IsEmpty() bool

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

func (*Quest_Desc_Meta) ProtoMessage Uses

func (*Quest_Desc_Meta) ProtoMessage()

func (*Quest_Desc_Meta) Reset Uses

func (m *Quest_Desc_Meta) Reset()

func (*Quest_Desc_Meta) String Uses

func (m *Quest_Desc_Meta) String() string

func (*Quest_Desc_Meta) XXX_DiscardUnknown Uses

func (m *Quest_Desc_Meta) XXX_DiscardUnknown()

func (*Quest_Desc_Meta) XXX_Marshal Uses

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

func (*Quest_Desc_Meta) XXX_Merge Uses

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

func (*Quest_Desc_Meta) XXX_Size Uses

func (m *Quest_Desc_Meta) XXX_Size() int

func (*Quest_Desc_Meta) XXX_Unmarshal Uses

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

type Quest_Desc_Meta_Retry Uses

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" 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" 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" 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" 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 Uses

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

func (*Quest_Desc_Meta_Retry) GetCrashed Uses

func (m *Quest_Desc_Meta_Retry) GetCrashed() uint32

func (*Quest_Desc_Meta_Retry) GetExpired Uses

func (m *Quest_Desc_Meta_Retry) GetExpired() uint32

func (*Quest_Desc_Meta_Retry) GetFailed Uses

func (m *Quest_Desc_Meta_Retry) GetFailed() uint32

func (*Quest_Desc_Meta_Retry) GetTimedOut Uses

func (m *Quest_Desc_Meta_Retry) GetTimedOut() uint32

func (*Quest_Desc_Meta_Retry) IsEmpty Uses

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 Uses

func (*Quest_Desc_Meta_Retry) ProtoMessage()

func (*Quest_Desc_Meta_Retry) Reset Uses

func (m *Quest_Desc_Meta_Retry) Reset()

func (*Quest_Desc_Meta_Retry) String Uses

func (m *Quest_Desc_Meta_Retry) String() string

func (*Quest_Desc_Meta_Retry) XXX_DiscardUnknown Uses

func (m *Quest_Desc_Meta_Retry) XXX_DiscardUnknown()

func (*Quest_Desc_Meta_Retry) XXX_Marshal Uses

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

func (*Quest_Desc_Meta_Retry) XXX_Merge Uses

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

func (*Quest_Desc_Meta_Retry) XXX_Size Uses

func (m *Quest_Desc_Meta_Retry) XXX_Size() int

func (*Quest_Desc_Meta_Retry) XXX_Unmarshal Uses

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

type Quest_Desc_Meta_Timeouts Uses

type Quest_Desc_Meta_Timeouts struct {
    Start                *duration.Duration `protobuf:"bytes,1,opt,name=start" json:"start,omitempty"`
    Run                  *duration.Duration `protobuf:"bytes,2,opt,name=run" json:"run,omitempty"`
    Stop                 *duration.Duration `protobuf:"bytes,3,opt,name=stop" 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 Uses

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

func (*Quest_Desc_Meta_Timeouts) GetRun Uses

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

func (*Quest_Desc_Meta_Timeouts) GetStart Uses

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

func (*Quest_Desc_Meta_Timeouts) GetStop Uses

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

func (*Quest_Desc_Meta_Timeouts) Normalize Uses

func (t *Quest_Desc_Meta_Timeouts) Normalize() error

Normalize ensures that all timeouts are >= 0

func (*Quest_Desc_Meta_Timeouts) ProtoMessage Uses

func (*Quest_Desc_Meta_Timeouts) ProtoMessage()

func (*Quest_Desc_Meta_Timeouts) Reset Uses

func (m *Quest_Desc_Meta_Timeouts) Reset()

func (*Quest_Desc_Meta_Timeouts) String Uses

func (m *Quest_Desc_Meta_Timeouts) String() string

func (*Quest_Desc_Meta_Timeouts) XXX_DiscardUnknown Uses

func (m *Quest_Desc_Meta_Timeouts) XXX_DiscardUnknown()

func (*Quest_Desc_Meta_Timeouts) XXX_Marshal Uses

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

func (*Quest_Desc_Meta_Timeouts) XXX_Merge Uses

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

func (*Quest_Desc_Meta_Timeouts) XXX_Size Uses

func (m *Quest_Desc_Meta_Timeouts) XXX_Size() int

func (*Quest_Desc_Meta_Timeouts) XXX_Unmarshal Uses

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

type Quest_ID Uses

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

func NewQuestID Uses

func NewQuestID(qst string) *Quest_ID

NewQuestID is a shorthand to New a new *Quest_ID

func (*Quest_ID) Descriptor Uses

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

func (*Quest_ID) Equals Uses

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

Equals returns true iff the two Quest_IDs are equivalent.

func (*Quest_ID) GetId Uses

func (m *Quest_ID) GetId() string

func (*Quest_ID) ProtoMessage Uses

func (*Quest_ID) ProtoMessage()

func (*Quest_ID) Reset Uses

func (m *Quest_ID) Reset()

func (*Quest_ID) String Uses

func (m *Quest_ID) String() string

func (*Quest_ID) XXX_DiscardUnknown Uses

func (m *Quest_ID) XXX_DiscardUnknown()

func (*Quest_ID) XXX_Marshal Uses

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

func (*Quest_ID) XXX_Merge Uses

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

func (*Quest_ID) XXX_Size Uses

func (m *Quest_ID) XXX_Size() int

func (*Quest_ID) XXX_Unmarshal Uses

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

type Quest_TemplateSpec Uses

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

func NewTemplateSpec Uses

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

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

func (*Quest_TemplateSpec) Descriptor Uses

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

func (*Quest_TemplateSpec) Equals Uses

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 Uses

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 Uses

func (m *Quest_TemplateSpec) GetName() string

func (*Quest_TemplateSpec) GetProject Uses

func (m *Quest_TemplateSpec) GetProject() string

func (*Quest_TemplateSpec) GetRef Uses

func (m *Quest_TemplateSpec) GetRef() string

func (*Quest_TemplateSpec) GetVersion Uses

func (m *Quest_TemplateSpec) GetVersion() string

func (*Quest_TemplateSpec) ProtoMessage Uses

func (*Quest_TemplateSpec) ProtoMessage()

func (*Quest_TemplateSpec) Reset Uses

func (m *Quest_TemplateSpec) Reset()

func (*Quest_TemplateSpec) String Uses

func (m *Quest_TemplateSpec) String() string

func (*Quest_TemplateSpec) ToProperty Uses

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 Uses

func (m *Quest_TemplateSpec) XXX_DiscardUnknown()

func (*Quest_TemplateSpec) XXX_Marshal Uses

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

func (*Quest_TemplateSpec) XXX_Merge Uses

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

func (*Quest_TemplateSpec) XXX_Size Uses

func (m *Quest_TemplateSpec) XXX_Size() int

func (*Quest_TemplateSpec) XXX_Unmarshal Uses

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

type Result Uses

type Result struct {
    Data                 *JsonResult     `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
    AbnormalFinish       *AbnormalFinish `protobuf:"bytes,2,opt,name=abnormal_finish,json=abnormalFinish" 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 Uses

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

func (*Result) FromProperty Uses

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 Uses

func (m *Result) GetAbnormalFinish() *AbnormalFinish

func (*Result) GetData Uses

func (m *Result) GetData() *JsonResult

func (*Result) ProtoMessage Uses

func (*Result) ProtoMessage()

func (*Result) Reset Uses

func (m *Result) Reset()

func (*Result) String Uses

func (m *Result) String() string

func (*Result) ToProperty Uses

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 Uses

func (m *Result) XXX_DiscardUnknown()

func (*Result) XXX_Marshal Uses

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

func (*Result) XXX_Merge Uses

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

func (*Result) XXX_Size Uses

func (m *Result) XXX_Size() int

func (*Result) XXX_Unmarshal Uses

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

type TemplateInstantiation Uses

type TemplateInstantiation struct {
    // project is the luci-config project which defines the template.
    Project string `protobuf:"bytes,1,opt,name=project" 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" 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" json:"specifier,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
    XXX_unrecognized     []byte                   `json:"-"`
    XXX_sizecache        int32                    `json:"-"`
}

func (*TemplateInstantiation) Descriptor Uses

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

func (*TemplateInstantiation) GetProject Uses

func (m *TemplateInstantiation) GetProject() string

func (*TemplateInstantiation) GetRef Uses

func (m *TemplateInstantiation) GetRef() string

func (*TemplateInstantiation) GetSpecifier Uses

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

func (*TemplateInstantiation) Normalize Uses

func (t *TemplateInstantiation) Normalize() error

Normalize returns an error iff the TemplateInstantiation is invalid.

func (*TemplateInstantiation) ProtoMessage Uses

func (*TemplateInstantiation) ProtoMessage()

func (*TemplateInstantiation) Reset Uses

func (m *TemplateInstantiation) Reset()

func (*TemplateInstantiation) String Uses

func (m *TemplateInstantiation) String() string

func (*TemplateInstantiation) XXX_DiscardUnknown Uses

func (m *TemplateInstantiation) XXX_DiscardUnknown()

func (*TemplateInstantiation) XXX_Marshal Uses

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

func (*TemplateInstantiation) XXX_Merge Uses

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

func (*TemplateInstantiation) XXX_Size Uses

func (m *TemplateInstantiation) XXX_Size() int

func (*TemplateInstantiation) XXX_Unmarshal Uses

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

type TimestampPurger Uses

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 WalkGraphReq Uses

type WalkGraphReq struct {
    // Optional. See Include.AttemptResult for restrictions.
    Auth *Execution_Auth `protobuf:"bytes,1,opt,name=auth" 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" json:"query,omitempty"`
    Mode  *WalkGraphReq_Mode  `protobuf:"bytes,3,opt,name=mode" json:"mode,omitempty"`
    Limit *WalkGraphReq_Limit `protobuf:"bytes,4,opt,name=limit" 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" json:"include,omitempty"`
    Exclude              *WalkGraphReq_Exclude `protobuf:"bytes,6,opt,name=exclude" 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 Uses

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

func (*WalkGraphReq) GetAuth Uses

func (m *WalkGraphReq) GetAuth() *Execution_Auth

func (*WalkGraphReq) GetExclude Uses

func (m *WalkGraphReq) GetExclude() *WalkGraphReq_Exclude

func (*WalkGraphReq) GetInclude Uses

func (m *WalkGraphReq) GetInclude() *WalkGraphReq_Include

func (*WalkGraphReq) GetLimit Uses

func (m *WalkGraphReq) GetLimit() *WalkGraphReq_Limit

func (*WalkGraphReq) GetMode Uses

func (m *WalkGraphReq) GetMode() *WalkGraphReq_Mode

func (*WalkGraphReq) GetQuery Uses

func (m *WalkGraphReq) GetQuery() *GraphQuery

func (*WalkGraphReq) Normalize Uses

func (w *WalkGraphReq) Normalize() error

Normalize returns an error iff the WalkGraphReq is invalid.

func (*WalkGraphReq) ProtoMessage Uses

func (*WalkGraphReq) ProtoMessage()

func (*WalkGraphReq) Reset Uses

func (m *WalkGraphReq) Reset()

func (*WalkGraphReq) String Uses

func (m *WalkGraphReq) String() string

func (*WalkGraphReq) XXX_DiscardUnknown Uses

func (m *WalkGraphReq) XXX_DiscardUnknown()

func (*WalkGraphReq) XXX_Marshal Uses

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

func (*WalkGraphReq) XXX_Merge Uses

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

func (*WalkGraphReq) XXX_Size Uses

func (m *WalkGraphReq) XXX_Size() int

func (*WalkGraphReq) XXX_Unmarshal Uses

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

type WalkGraphReq_Exclude Uses

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

func (*WalkGraphReq_Exclude) Descriptor Uses

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

func (*WalkGraphReq_Exclude) GetAttempts Uses

func (m *WalkGraphReq_Exclude) GetAttempts() *AttemptList

func (*WalkGraphReq_Exclude) GetQuests Uses

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

func (*WalkGraphReq_Exclude) Normalize Uses

func (e *WalkGraphReq_Exclude) Normalize() error

Normalize returns an error iff the WalkGraphReq_Exclude is invalid.

func (*WalkGraphReq_Exclude) ProtoMessage Uses

func (*WalkGraphReq_Exclude) ProtoMessage()

func (*WalkGraphReq_Exclude) Reset Uses

func (m *WalkGraphReq_Exclude) Reset()

func (*WalkGraphReq_Exclude) String Uses

func (m *WalkGraphReq_Exclude) String() string

func (*WalkGraphReq_Exclude) XXX_DiscardUnknown Uses

func (m *WalkGraphReq_Exclude) XXX_DiscardUnknown()

func (*WalkGraphReq_Exclude) XXX_Marshal Uses

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

func (*WalkGraphReq_Exclude) XXX_Merge Uses

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

func (*WalkGraphReq_Exclude) XXX_Size Uses

func (m *WalkGraphReq_Exclude) XXX_Size() int

func (*WalkGraphReq_Exclude) XXX_Unmarshal Uses

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

type WalkGraphReq_Include Uses

type WalkGraphReq_Include struct {
    Quest     *WalkGraphReq_Include_Options `protobuf:"bytes,1,opt,name=quest" json:"quest,omitempty"`
    Attempt   *WalkGraphReq_Include_Options `protobuf:"bytes,2,opt,name=attempt" json:"attempt,omitempty"`
    Execution *WalkGraphReq_Include_Options `protobuf:"bytes,3,opt,name=execution" 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" 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" 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" json:"back_deps,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func MakeWalkGraphIncludeAll Uses

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 Uses

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

func (*WalkGraphReq_Include) GetAttempt Uses

func (m *WalkGraphReq_Include) GetAttempt() *WalkGraphReq_Include_Options

func (*WalkGraphReq_Include) GetBackDeps Uses

func (m *WalkGraphReq_Include) GetBackDeps() bool

func (*WalkGraphReq_Include) GetExecution Uses

func (m *WalkGraphReq_Include) GetExecution() *WalkGraphReq_Include_Options

func (*WalkGraphReq_Include) GetFwdDeps Uses

func (m *WalkGraphReq_Include) GetFwdDeps() bool

func (*WalkGraphReq_Include) GetNumExecutions Uses

func (m *WalkGraphReq_Include) GetNumExecutions() uint32

func (*WalkGraphReq_Include) GetQuest Uses

func (m *WalkGraphReq_Include) GetQuest() *WalkGraphReq_Include_Options

func (*WalkGraphReq_Include) ProtoMessage Uses

func (*WalkGraphReq_Include) ProtoMessage()

func (*WalkGraphReq_Include) Reset Uses

func (m *WalkGraphReq_Include) Reset()

func (*WalkGraphReq_Include) String Uses

func (m *WalkGraphReq_Include) String() string

func (*WalkGraphReq_Include) XXX_DiscardUnknown Uses

func (m *WalkGraphReq_Include) XXX_DiscardUnknown()

func (*WalkGraphReq_Include) XXX_Marshal Uses

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

func (*WalkGraphReq_Include) XXX_Merge Uses

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

func (*WalkGraphReq_Include) XXX_Size Uses

func (m *WalkGraphReq_Include) XXX_Size() int

func (*WalkGraphReq_Include) XXX_Unmarshal Uses

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

type WalkGraphReq_Include_Options Uses

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" json:"ids,omitempty"`
    // Instructs the request to include the Data field
    Data bool `protobuf:"varint,2,opt,name=data" 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" json:"result,omitempty"`
    // If set to true, objects with an abnormal termination will be included.
    Abnormal bool `protobuf:"varint,4,opt,name=abnormal" json:"abnormal,omitempty"`
    // If set to true, expired objects will be included.
    Expired              bool     `protobuf:"varint,5,opt,name=expired" json:"expired,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*WalkGraphReq_Include_Options) Descriptor Uses

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

func (*WalkGraphReq_Include_Options) GetAbnormal Uses

func (m *WalkGraphReq_Include_Options) GetAbnormal() bool

func (*WalkGraphReq_Include_Options) GetData Uses

func (m *WalkGraphReq_Include_Options) GetData() bool

func (*WalkGraphReq_Include_Options) GetExpired Uses

func (m *WalkGraphReq_Include_Options) GetExpired() bool

func (*WalkGraphReq_Include_Options) GetIds Uses

func (m *WalkGraphReq_Include_Options) GetIds() bool

func (*WalkGraphReq_Include_Options) GetResult Uses

func (m *WalkGraphReq_Include_Options) GetResult() bool

func (*WalkGraphReq_Include_Options) ProtoMessage Uses

func (*WalkGraphReq_Include_Options) ProtoMessage()

func (*WalkGraphReq_Include_Options) Reset Uses

func (m *WalkGraphReq_Include_Options) Reset()

func (*WalkGraphReq_Include_Options) String Uses

func (m *WalkGraphReq_Include_Options) String() string

func (*WalkGraphReq_Include_Options) XXX_DiscardUnknown Uses

func (m *WalkGraphReq_Include_Options) XXX_DiscardUnknown()

func (*WalkGraphReq_Include_Options) XXX_Marshal Uses

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

func (*WalkGraphReq_Include_Options) XXX_Merge Uses

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

func (*WalkGraphReq_Include_Options) XXX_Size Uses

func (m *WalkGraphReq_Include_Options) XXX_Size() int

func (*WalkGraphReq_Include_Options) XXX_Unmarshal Uses

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

type WalkGraphReq_Limit Uses

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" 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" 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" json:"max_data_size,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*WalkGraphReq_Limit) Descriptor Uses

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

func (*WalkGraphReq_Limit) GetMaxDataSize Uses

func (m *WalkGraphReq_Limit) GetMaxDataSize() uint32

func (*WalkGraphReq_Limit) GetMaxDepth Uses

func (m *WalkGraphReq_Limit) GetMaxDepth() int64

func (*WalkGraphReq_Limit) GetMaxTime Uses

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

func (*WalkGraphReq_Limit) ProtoMessage Uses

func (*WalkGraphReq_Limit) ProtoMessage()

func (*WalkGraphReq_Limit) Reset Uses

func (m *WalkGraphReq_Limit) Reset()

func (*WalkGraphReq_Limit) String Uses

func (m *WalkGraphReq_Limit) String() string

func (*WalkGraphReq_Limit) XXX_DiscardUnknown Uses

func (m *WalkGraphReq_Limit) XXX_DiscardUnknown()

func (*WalkGraphReq_Limit) XXX_Marshal Uses

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

func (*WalkGraphReq_Limit) XXX_Merge Uses

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

func (*WalkGraphReq_Limit) XXX_Size Uses

func (m *WalkGraphReq_Limit) XXX_Size() int

func (*WalkGraphReq_Limit) XXX_Unmarshal Uses

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

type WalkGraphReq_Mode Uses

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" json:"dfs,omitempty"`
    Direction            WalkGraphReq_Mode_Direction `protobuf:"varint,2,opt,name=direction,enum=dm.WalkGraphReq_Mode_Direction" json:"direction,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
    XXX_unrecognized     []byte                      `json:"-"`
    XXX_sizecache        int32                       `json:"-"`
}

func (*WalkGraphReq_Mode) Descriptor Uses

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

func (*WalkGraphReq_Mode) GetDfs Uses

func (m *WalkGraphReq_Mode) GetDfs() bool

func (*WalkGraphReq_Mode) GetDirection Uses

func (m *WalkGraphReq_Mode) GetDirection() WalkGraphReq_Mode_Direction

func (*WalkGraphReq_Mode) ProtoMessage Uses

func (*WalkGraphReq_Mode) ProtoMessage()

func (*WalkGraphReq_Mode) Reset Uses

func (m *WalkGraphReq_Mode) Reset()

func (*WalkGraphReq_Mode) String Uses

func (m *WalkGraphReq_Mode) String() string

func (*WalkGraphReq_Mode) XXX_DiscardUnknown Uses

func (m *WalkGraphReq_Mode) XXX_DiscardUnknown()

func (*WalkGraphReq_Mode) XXX_Marshal Uses

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

func (*WalkGraphReq_Mode) XXX_Merge Uses

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

func (*WalkGraphReq_Mode) XXX_Size Uses

func (m *WalkGraphReq_Mode) XXX_Size() int

func (*WalkGraphReq_Mode) XXX_Unmarshal Uses

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

type WalkGraphReq_Mode_Direction Uses

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 Uses

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

func (WalkGraphReq_Mode_Direction) String Uses

func (x WalkGraphReq_Mode_Direction) String() string

Package dm imports 24 packages (graph) and is imported by 16 packages. Updated 2018-08-21. Refresh now. Tools for package owners.