1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/devtools/remoteexecution/v1test/remote_execution.proto 3 4package remoteexecution // import "google.golang.org/genproto/googleapis/devtools/remoteexecution/v1test" 5 6import proto "github.com/golang/protobuf/proto" 7import fmt "fmt" 8import math "math" 9import duration "github.com/golang/protobuf/ptypes/duration" 10import _ "google.golang.org/genproto/googleapis/api/annotations" 11import longrunning "google.golang.org/genproto/googleapis/longrunning" 12import status "google.golang.org/genproto/googleapis/rpc/status" 13 14import ( 15 context "golang.org/x/net/context" 16 grpc "google.golang.org/grpc" 17) 18 19// Reference imports to suppress errors if they are not otherwise used. 20var _ = proto.Marshal 21var _ = fmt.Errorf 22var _ = math.Inf 23 24// This is a compile-time assertion to ensure that this generated file 25// is compatible with the proto package it is being compiled against. 26// A compilation error at this line likely means your copy of the 27// proto package needs to be updated. 28const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package 29 30// The current stage of execution. 31type ExecuteOperationMetadata_Stage int32 32 33const ( 34 ExecuteOperationMetadata_UNKNOWN ExecuteOperationMetadata_Stage = 0 35 // Checking the result against the cache. 36 ExecuteOperationMetadata_CACHE_CHECK ExecuteOperationMetadata_Stage = 1 37 // Currently idle, awaiting a free machine to execute. 38 ExecuteOperationMetadata_QUEUED ExecuteOperationMetadata_Stage = 2 39 // Currently being executed by a worker. 40 ExecuteOperationMetadata_EXECUTING ExecuteOperationMetadata_Stage = 3 41 // Finished execution. 42 ExecuteOperationMetadata_COMPLETED ExecuteOperationMetadata_Stage = 4 43) 44 45var ExecuteOperationMetadata_Stage_name = map[int32]string{ 46 0: "UNKNOWN", 47 1: "CACHE_CHECK", 48 2: "QUEUED", 49 3: "EXECUTING", 50 4: "COMPLETED", 51} 52var ExecuteOperationMetadata_Stage_value = map[string]int32{ 53 "UNKNOWN": 0, 54 "CACHE_CHECK": 1, 55 "QUEUED": 2, 56 "EXECUTING": 3, 57 "COMPLETED": 4, 58} 59 60func (x ExecuteOperationMetadata_Stage) String() string { 61 return proto.EnumName(ExecuteOperationMetadata_Stage_name, int32(x)) 62} 63func (ExecuteOperationMetadata_Stage) EnumDescriptor() ([]byte, []int) { 64 return fileDescriptor_remote_execution_2379da344af471dd, []int{14, 0} 65} 66 67// An `Action` captures all the information about an execution which is required 68// to reproduce it. 69// 70// `Action`s are the core component of the [Execution] service. A single 71// `Action` represents a repeatable action that can be performed by the 72// execution service. `Action`s can be succinctly identified by the digest of 73// their wire format encoding and, once an `Action` has been executed, will be 74// cached in the action cache. Future requests can then use the cached result 75// rather than needing to run afresh. 76// 77// When a server completes execution of an 78// [Action][google.devtools.remoteexecution.v1test.Action], it MAY choose to 79// cache the [result][google.devtools.remoteexecution.v1test.ActionResult] in 80// the [ActionCache][google.devtools.remoteexecution.v1test.ActionCache] unless 81// `do_not_cache` is `true`. Clients SHOULD expect the server to do so. By 82// default, future calls to [Execute][] the same `Action` will also serve their 83// results from the cache. Clients must take care to understand the caching 84// behaviour. Ideally, all `Action`s will be reproducible so that serving a 85// result from cache is always desirable and correct. 86type Action struct { 87 // The digest of the [Command][google.devtools.remoteexecution.v1test.Command] 88 // to run, which MUST be present in the 89 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 90 CommandDigest *Digest `protobuf:"bytes,1,opt,name=command_digest,json=commandDigest,proto3" json:"command_digest,omitempty"` 91 // The digest of the root 92 // [Directory][google.devtools.remoteexecution.v1test.Directory] for the input 93 // files. The files in the directory tree are available in the correct 94 // location on the build machine before the command is executed. The root 95 // directory, as well as every subdirectory and content blob referred to, MUST 96 // be in the 97 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 98 InputRootDigest *Digest `protobuf:"bytes,2,opt,name=input_root_digest,json=inputRootDigest,proto3" json:"input_root_digest,omitempty"` 99 // A list of the output files that the client expects to retrieve from the 100 // action. Only the listed files, as well as directories listed in 101 // `output_directories`, will be returned to the client as output. 102 // Other files that may be created during command execution are discarded. 103 // 104 // The paths are relative to the working directory of the action execution. 105 // The paths are specified using a single forward slash (`/`) as a path 106 // separator, even if the execution platform natively uses a different 107 // separator. The path MUST NOT include a trailing slash, nor a leading slash, 108 // being a relative path. 109 // 110 // In order to ensure consistent hashing of the same Action, the output paths 111 // MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 112 // bytes). 113 OutputFiles []string `protobuf:"bytes,3,rep,name=output_files,json=outputFiles,proto3" json:"output_files,omitempty"` 114 // A list of the output directories that the client expects to retrieve from 115 // the action. Only the contents of the indicated directories (recursively 116 // including the contents of their subdirectories) will be 117 // returned, as well as files listed in `output_files`. Other files that may 118 // be created during command execution are discarded. 119 // 120 // The paths are relative to the working directory of the action execution. 121 // The paths are specified using a single forward slash (`/`) as a path 122 // separator, even if the execution platform natively uses a different 123 // separator. The path MUST NOT include a trailing slash, nor a leading slash, 124 // being a relative path. 125 // The special value of empty string is allowed, although not recommended, and 126 // can be used to capture the entire working directory tree, including inputs. 127 // 128 // In order to ensure consistent hashing of the same Action, the output paths 129 // MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 130 // bytes). 131 OutputDirectories []string `protobuf:"bytes,4,rep,name=output_directories,json=outputDirectories,proto3" json:"output_directories,omitempty"` 132 // The platform requirements for the execution environment. The server MAY 133 // choose to execute the action on any worker satisfying the requirements, so 134 // the client SHOULD ensure that running the action on any such worker will 135 // have the same result. 136 Platform *Platform `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` 137 // A timeout after which the execution should be killed. If the timeout is 138 // absent, then the client is specifying that the execution should continue 139 // as long as the server will let it. The server SHOULD impose a timeout if 140 // the client does not specify one, however, if the client does specify a 141 // timeout that is longer than the server's maximum timeout, the server MUST 142 // reject the request. 143 // 144 // The timeout is a part of the 145 // [Action][google.devtools.remoteexecution.v1test.Action] message, and 146 // therefore two `Actions` with different timeouts are different, even if they 147 // are otherwise identical. This is because, if they were not, running an 148 // `Action` with a lower timeout than is required might result in a cache hit 149 // from an execution run with a longer timeout, hiding the fact that the 150 // timeout is too short. By encoding it directly in the `Action`, a lower 151 // timeout will result in a cache miss and the execution timeout will fail 152 // immediately, rather than whenever the cache entry gets evicted. 153 Timeout *duration.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"` 154 // If true, then the `Action`'s result cannot be cached. 155 DoNotCache bool `protobuf:"varint,7,opt,name=do_not_cache,json=doNotCache,proto3" json:"do_not_cache,omitempty"` 156 XXX_NoUnkeyedLiteral struct{} `json:"-"` 157 XXX_unrecognized []byte `json:"-"` 158 XXX_sizecache int32 `json:"-"` 159} 160 161func (m *Action) Reset() { *m = Action{} } 162func (m *Action) String() string { return proto.CompactTextString(m) } 163func (*Action) ProtoMessage() {} 164func (*Action) Descriptor() ([]byte, []int) { 165 return fileDescriptor_remote_execution_2379da344af471dd, []int{0} 166} 167func (m *Action) XXX_Unmarshal(b []byte) error { 168 return xxx_messageInfo_Action.Unmarshal(m, b) 169} 170func (m *Action) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 171 return xxx_messageInfo_Action.Marshal(b, m, deterministic) 172} 173func (dst *Action) XXX_Merge(src proto.Message) { 174 xxx_messageInfo_Action.Merge(dst, src) 175} 176func (m *Action) XXX_Size() int { 177 return xxx_messageInfo_Action.Size(m) 178} 179func (m *Action) XXX_DiscardUnknown() { 180 xxx_messageInfo_Action.DiscardUnknown(m) 181} 182 183var xxx_messageInfo_Action proto.InternalMessageInfo 184 185func (m *Action) GetCommandDigest() *Digest { 186 if m != nil { 187 return m.CommandDigest 188 } 189 return nil 190} 191 192func (m *Action) GetInputRootDigest() *Digest { 193 if m != nil { 194 return m.InputRootDigest 195 } 196 return nil 197} 198 199func (m *Action) GetOutputFiles() []string { 200 if m != nil { 201 return m.OutputFiles 202 } 203 return nil 204} 205 206func (m *Action) GetOutputDirectories() []string { 207 if m != nil { 208 return m.OutputDirectories 209 } 210 return nil 211} 212 213func (m *Action) GetPlatform() *Platform { 214 if m != nil { 215 return m.Platform 216 } 217 return nil 218} 219 220func (m *Action) GetTimeout() *duration.Duration { 221 if m != nil { 222 return m.Timeout 223 } 224 return nil 225} 226 227func (m *Action) GetDoNotCache() bool { 228 if m != nil { 229 return m.DoNotCache 230 } 231 return false 232} 233 234// A `Command` is the actual command executed by a worker running an 235// [Action][google.devtools.remoteexecution.v1test.Action]. 236// 237// Except as otherwise required, the environment (such as which system 238// libraries or binaries are available, and what filesystems are mounted where) 239// is defined by and specific to the implementation of the remote execution API. 240type Command struct { 241 // The arguments to the command. The first argument must be the path to the 242 // executable, which must be either a relative path, in which case it is 243 // evaluated with respect to the input root, or an absolute path. 244 // 245 // The working directory will always be the input root. 246 Arguments []string `protobuf:"bytes,1,rep,name=arguments,proto3" json:"arguments,omitempty"` 247 // The environment variables to set when running the program. The worker may 248 // provide its own default environment variables; these defaults can be 249 // overridden using this field. Additional variables can also be specified. 250 // 251 // In order to ensure that equivalent `Command`s always hash to the same 252 // value, the environment variables MUST be lexicographically sorted by name. 253 // Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. 254 EnvironmentVariables []*Command_EnvironmentVariable `protobuf:"bytes,2,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"` 255 XXX_NoUnkeyedLiteral struct{} `json:"-"` 256 XXX_unrecognized []byte `json:"-"` 257 XXX_sizecache int32 `json:"-"` 258} 259 260func (m *Command) Reset() { *m = Command{} } 261func (m *Command) String() string { return proto.CompactTextString(m) } 262func (*Command) ProtoMessage() {} 263func (*Command) Descriptor() ([]byte, []int) { 264 return fileDescriptor_remote_execution_2379da344af471dd, []int{1} 265} 266func (m *Command) XXX_Unmarshal(b []byte) error { 267 return xxx_messageInfo_Command.Unmarshal(m, b) 268} 269func (m *Command) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 270 return xxx_messageInfo_Command.Marshal(b, m, deterministic) 271} 272func (dst *Command) XXX_Merge(src proto.Message) { 273 xxx_messageInfo_Command.Merge(dst, src) 274} 275func (m *Command) XXX_Size() int { 276 return xxx_messageInfo_Command.Size(m) 277} 278func (m *Command) XXX_DiscardUnknown() { 279 xxx_messageInfo_Command.DiscardUnknown(m) 280} 281 282var xxx_messageInfo_Command proto.InternalMessageInfo 283 284func (m *Command) GetArguments() []string { 285 if m != nil { 286 return m.Arguments 287 } 288 return nil 289} 290 291func (m *Command) GetEnvironmentVariables() []*Command_EnvironmentVariable { 292 if m != nil { 293 return m.EnvironmentVariables 294 } 295 return nil 296} 297 298// An `EnvironmentVariable` is one variable to set in the running program's 299// environment. 300type Command_EnvironmentVariable struct { 301 // The variable name. 302 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 303 // The variable value. 304 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 305 XXX_NoUnkeyedLiteral struct{} `json:"-"` 306 XXX_unrecognized []byte `json:"-"` 307 XXX_sizecache int32 `json:"-"` 308} 309 310func (m *Command_EnvironmentVariable) Reset() { *m = Command_EnvironmentVariable{} } 311func (m *Command_EnvironmentVariable) String() string { return proto.CompactTextString(m) } 312func (*Command_EnvironmentVariable) ProtoMessage() {} 313func (*Command_EnvironmentVariable) Descriptor() ([]byte, []int) { 314 return fileDescriptor_remote_execution_2379da344af471dd, []int{1, 0} 315} 316func (m *Command_EnvironmentVariable) XXX_Unmarshal(b []byte) error { 317 return xxx_messageInfo_Command_EnvironmentVariable.Unmarshal(m, b) 318} 319func (m *Command_EnvironmentVariable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 320 return xxx_messageInfo_Command_EnvironmentVariable.Marshal(b, m, deterministic) 321} 322func (dst *Command_EnvironmentVariable) XXX_Merge(src proto.Message) { 323 xxx_messageInfo_Command_EnvironmentVariable.Merge(dst, src) 324} 325func (m *Command_EnvironmentVariable) XXX_Size() int { 326 return xxx_messageInfo_Command_EnvironmentVariable.Size(m) 327} 328func (m *Command_EnvironmentVariable) XXX_DiscardUnknown() { 329 xxx_messageInfo_Command_EnvironmentVariable.DiscardUnknown(m) 330} 331 332var xxx_messageInfo_Command_EnvironmentVariable proto.InternalMessageInfo 333 334func (m *Command_EnvironmentVariable) GetName() string { 335 if m != nil { 336 return m.Name 337 } 338 return "" 339} 340 341func (m *Command_EnvironmentVariable) GetValue() string { 342 if m != nil { 343 return m.Value 344 } 345 return "" 346} 347 348// A `Platform` is a set of requirements, such as hardware, operating system, or 349// compiler toolchain, for an 350// [Action][google.devtools.remoteexecution.v1test.Action]'s execution 351// environment. A `Platform` is represented as a series of key-value pairs 352// representing the properties that are required of the platform. 353// 354// This message is currently being redeveloped since it is an overly simplistic 355// model of platforms. 356type Platform struct { 357 // The properties that make up this platform. In order to ensure that 358 // equivalent `Platform`s always hash to the same value, the properties MUST 359 // be lexicographically sorted by name, and then by value. Sorting of strings 360 // is done by code point, equivalently, by the UTF-8 bytes. 361 Properties []*Platform_Property `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty"` 362 XXX_NoUnkeyedLiteral struct{} `json:"-"` 363 XXX_unrecognized []byte `json:"-"` 364 XXX_sizecache int32 `json:"-"` 365} 366 367func (m *Platform) Reset() { *m = Platform{} } 368func (m *Platform) String() string { return proto.CompactTextString(m) } 369func (*Platform) ProtoMessage() {} 370func (*Platform) Descriptor() ([]byte, []int) { 371 return fileDescriptor_remote_execution_2379da344af471dd, []int{2} 372} 373func (m *Platform) XXX_Unmarshal(b []byte) error { 374 return xxx_messageInfo_Platform.Unmarshal(m, b) 375} 376func (m *Platform) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 377 return xxx_messageInfo_Platform.Marshal(b, m, deterministic) 378} 379func (dst *Platform) XXX_Merge(src proto.Message) { 380 xxx_messageInfo_Platform.Merge(dst, src) 381} 382func (m *Platform) XXX_Size() int { 383 return xxx_messageInfo_Platform.Size(m) 384} 385func (m *Platform) XXX_DiscardUnknown() { 386 xxx_messageInfo_Platform.DiscardUnknown(m) 387} 388 389var xxx_messageInfo_Platform proto.InternalMessageInfo 390 391func (m *Platform) GetProperties() []*Platform_Property { 392 if m != nil { 393 return m.Properties 394 } 395 return nil 396} 397 398// A single property for the environment. The server is responsible for 399// specifying the property `name`s that it accepts. If an unknown `name` is 400// provided in the requirements for an 401// [Action][google.devtools.remoteexecution.v1test.Action], the server SHOULD 402// reject the execution request. If permitted by the server, the same `name` 403// may occur multiple times. 404// 405// The server is also responsible for specifying the interpretation of 406// property `value`s. For instance, a property describing how much RAM must be 407// available may be interpreted as allowing a worker with 16GB to fulfill a 408// request for 8GB, while a property describing the OS environment on which 409// the action must be performed may require an exact match with the worker's 410// OS. 411// 412// The server MAY use the `value` of one or more properties to determine how 413// it sets up the execution environment, such as by making specific system 414// files available to the worker. 415type Platform_Property struct { 416 // The property name. 417 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 418 // The property value. 419 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 420 XXX_NoUnkeyedLiteral struct{} `json:"-"` 421 XXX_unrecognized []byte `json:"-"` 422 XXX_sizecache int32 `json:"-"` 423} 424 425func (m *Platform_Property) Reset() { *m = Platform_Property{} } 426func (m *Platform_Property) String() string { return proto.CompactTextString(m) } 427func (*Platform_Property) ProtoMessage() {} 428func (*Platform_Property) Descriptor() ([]byte, []int) { 429 return fileDescriptor_remote_execution_2379da344af471dd, []int{2, 0} 430} 431func (m *Platform_Property) XXX_Unmarshal(b []byte) error { 432 return xxx_messageInfo_Platform_Property.Unmarshal(m, b) 433} 434func (m *Platform_Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 435 return xxx_messageInfo_Platform_Property.Marshal(b, m, deterministic) 436} 437func (dst *Platform_Property) XXX_Merge(src proto.Message) { 438 xxx_messageInfo_Platform_Property.Merge(dst, src) 439} 440func (m *Platform_Property) XXX_Size() int { 441 return xxx_messageInfo_Platform_Property.Size(m) 442} 443func (m *Platform_Property) XXX_DiscardUnknown() { 444 xxx_messageInfo_Platform_Property.DiscardUnknown(m) 445} 446 447var xxx_messageInfo_Platform_Property proto.InternalMessageInfo 448 449func (m *Platform_Property) GetName() string { 450 if m != nil { 451 return m.Name 452 } 453 return "" 454} 455 456func (m *Platform_Property) GetValue() string { 457 if m != nil { 458 return m.Value 459 } 460 return "" 461} 462 463// A `Directory` represents a directory node in a file tree, containing zero or 464// more children [FileNodes][google.devtools.remoteexecution.v1test.FileNode] 465// and [DirectoryNodes][google.devtools.remoteexecution.v1test.DirectoryNode]. 466// Each `Node` contains its name in the directory, the digest of its content 467// (either a file blob or a `Directory` proto), as well as possibly some 468// metadata about the file or directory. 469// 470// In order to ensure that two equivalent directory trees hash to the same 471// value, the following restrictions MUST be obeyed when constructing a 472// a `Directory`: 473// - Every child in the directory must have a path of exactly one segment. 474// Multiple levels of directory hierarchy may not be collapsed. 475// - Each child in the directory must have a unique path segment (file name). 476// - The files and directories in the directory must each be sorted in 477// lexicographical order by path. The path strings must be sorted by code 478// point, equivalently, by UTF-8 bytes. 479// 480// A `Directory` that obeys the restrictions is said to be in canonical form. 481// 482// As an example, the following could be used for a file named `bar` and a 483// directory named `foo` with an executable file named `baz` (hashes shortened 484// for readability): 485// 486// ```json 487// // (Directory proto) 488// { 489// files: [ 490// { 491// name: "bar", 492// digest: { 493// hash: "4a73bc9d03...", 494// size: 65534 495// } 496// } 497// ], 498// directories: [ 499// { 500// name: "foo", 501// digest: { 502// hash: "4cf2eda940...", 503// size: 43 504// } 505// } 506// ] 507// } 508// 509// // (Directory proto with hash "4cf2eda940..." and size 43) 510// { 511// files: [ 512// { 513// name: "baz", 514// digest: { 515// hash: "b2c941073e...", 516// size: 1294, 517// }, 518// is_executable: true 519// } 520// ] 521// } 522// ``` 523type Directory struct { 524 // The files in the directory. 525 Files []*FileNode `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` 526 // The subdirectories in the directory. 527 Directories []*DirectoryNode `protobuf:"bytes,2,rep,name=directories,proto3" json:"directories,omitempty"` 528 XXX_NoUnkeyedLiteral struct{} `json:"-"` 529 XXX_unrecognized []byte `json:"-"` 530 XXX_sizecache int32 `json:"-"` 531} 532 533func (m *Directory) Reset() { *m = Directory{} } 534func (m *Directory) String() string { return proto.CompactTextString(m) } 535func (*Directory) ProtoMessage() {} 536func (*Directory) Descriptor() ([]byte, []int) { 537 return fileDescriptor_remote_execution_2379da344af471dd, []int{3} 538} 539func (m *Directory) XXX_Unmarshal(b []byte) error { 540 return xxx_messageInfo_Directory.Unmarshal(m, b) 541} 542func (m *Directory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 543 return xxx_messageInfo_Directory.Marshal(b, m, deterministic) 544} 545func (dst *Directory) XXX_Merge(src proto.Message) { 546 xxx_messageInfo_Directory.Merge(dst, src) 547} 548func (m *Directory) XXX_Size() int { 549 return xxx_messageInfo_Directory.Size(m) 550} 551func (m *Directory) XXX_DiscardUnknown() { 552 xxx_messageInfo_Directory.DiscardUnknown(m) 553} 554 555var xxx_messageInfo_Directory proto.InternalMessageInfo 556 557func (m *Directory) GetFiles() []*FileNode { 558 if m != nil { 559 return m.Files 560 } 561 return nil 562} 563 564func (m *Directory) GetDirectories() []*DirectoryNode { 565 if m != nil { 566 return m.Directories 567 } 568 return nil 569} 570 571// A `FileNode` represents a single file and associated metadata. 572type FileNode struct { 573 // The name of the file. 574 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 575 // The digest of the file's content. 576 Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` 577 // True if file is executable, false otherwise. 578 IsExecutable bool `protobuf:"varint,4,opt,name=is_executable,json=isExecutable,proto3" json:"is_executable,omitempty"` 579 XXX_NoUnkeyedLiteral struct{} `json:"-"` 580 XXX_unrecognized []byte `json:"-"` 581 XXX_sizecache int32 `json:"-"` 582} 583 584func (m *FileNode) Reset() { *m = FileNode{} } 585func (m *FileNode) String() string { return proto.CompactTextString(m) } 586func (*FileNode) ProtoMessage() {} 587func (*FileNode) Descriptor() ([]byte, []int) { 588 return fileDescriptor_remote_execution_2379da344af471dd, []int{4} 589} 590func (m *FileNode) XXX_Unmarshal(b []byte) error { 591 return xxx_messageInfo_FileNode.Unmarshal(m, b) 592} 593func (m *FileNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 594 return xxx_messageInfo_FileNode.Marshal(b, m, deterministic) 595} 596func (dst *FileNode) XXX_Merge(src proto.Message) { 597 xxx_messageInfo_FileNode.Merge(dst, src) 598} 599func (m *FileNode) XXX_Size() int { 600 return xxx_messageInfo_FileNode.Size(m) 601} 602func (m *FileNode) XXX_DiscardUnknown() { 603 xxx_messageInfo_FileNode.DiscardUnknown(m) 604} 605 606var xxx_messageInfo_FileNode proto.InternalMessageInfo 607 608func (m *FileNode) GetName() string { 609 if m != nil { 610 return m.Name 611 } 612 return "" 613} 614 615func (m *FileNode) GetDigest() *Digest { 616 if m != nil { 617 return m.Digest 618 } 619 return nil 620} 621 622func (m *FileNode) GetIsExecutable() bool { 623 if m != nil { 624 return m.IsExecutable 625 } 626 return false 627} 628 629// A `DirectoryNode` represents a child of a 630// [Directory][google.devtools.remoteexecution.v1test.Directory] which is itself 631// a `Directory` and its associated metadata. 632type DirectoryNode struct { 633 // The name of the directory. 634 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 635 // The digest of the 636 // [Directory][google.devtools.remoteexecution.v1test.Directory] object 637 // represented. See [Digest][google.devtools.remoteexecution.v1test.Digest] 638 // for information about how to take the digest of a proto message. 639 Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` 640 XXX_NoUnkeyedLiteral struct{} `json:"-"` 641 XXX_unrecognized []byte `json:"-"` 642 XXX_sizecache int32 `json:"-"` 643} 644 645func (m *DirectoryNode) Reset() { *m = DirectoryNode{} } 646func (m *DirectoryNode) String() string { return proto.CompactTextString(m) } 647func (*DirectoryNode) ProtoMessage() {} 648func (*DirectoryNode) Descriptor() ([]byte, []int) { 649 return fileDescriptor_remote_execution_2379da344af471dd, []int{5} 650} 651func (m *DirectoryNode) XXX_Unmarshal(b []byte) error { 652 return xxx_messageInfo_DirectoryNode.Unmarshal(m, b) 653} 654func (m *DirectoryNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 655 return xxx_messageInfo_DirectoryNode.Marshal(b, m, deterministic) 656} 657func (dst *DirectoryNode) XXX_Merge(src proto.Message) { 658 xxx_messageInfo_DirectoryNode.Merge(dst, src) 659} 660func (m *DirectoryNode) XXX_Size() int { 661 return xxx_messageInfo_DirectoryNode.Size(m) 662} 663func (m *DirectoryNode) XXX_DiscardUnknown() { 664 xxx_messageInfo_DirectoryNode.DiscardUnknown(m) 665} 666 667var xxx_messageInfo_DirectoryNode proto.InternalMessageInfo 668 669func (m *DirectoryNode) GetName() string { 670 if m != nil { 671 return m.Name 672 } 673 return "" 674} 675 676func (m *DirectoryNode) GetDigest() *Digest { 677 if m != nil { 678 return m.Digest 679 } 680 return nil 681} 682 683// A content digest. A digest for a given blob consists of the size of the blob 684// and its hash. The hash algorithm to use is defined by the server, but servers 685// SHOULD use SHA-256. 686// 687// The size is considered to be an integral part of the digest and cannot be 688// separated. That is, even if the `hash` field is correctly specified but 689// `size_bytes` is not, the server MUST reject the request. 690// 691// The reason for including the size in the digest is as follows: in a great 692// many cases, the server needs to know the size of the blob it is about to work 693// with prior to starting an operation with it, such as flattening Merkle tree 694// structures or streaming it to a worker. Technically, the server could 695// implement a separate metadata store, but this results in a significantly more 696// complicated implementation as opposed to having the client specify the size 697// up-front (or storing the size along with the digest in every message where 698// digests are embedded). This does mean that the API leaks some implementation 699// details of (what we consider to be) a reasonable server implementation, but 700// we consider this to be a worthwhile tradeoff. 701// 702// When a `Digest` is used to refer to a proto message, it always refers to the 703// message in binary encoded form. To ensure consistent hashing, clients and 704// servers MUST ensure that they serialize messages according to the following 705// rules, even if there are alternate valid encodings for the same message. 706// - Fields are serialized in tag order. 707// - There are no unknown fields. 708// - There are no duplicate fields. 709// - Fields are serialized according to the default semantics for their type. 710// 711// Most protocol buffer implementations will always follow these rules when 712// serializing, but care should be taken to avoid shortcuts. For instance, 713// concatenating two messages to merge them may produce duplicate fields. 714type Digest struct { 715 // The hash. In the case of SHA-256, it will always be a lowercase hex string 716 // exactly 64 characters long. 717 Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` 718 // The size of the blob, in bytes. 719 SizeBytes int64 `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` 720 XXX_NoUnkeyedLiteral struct{} `json:"-"` 721 XXX_unrecognized []byte `json:"-"` 722 XXX_sizecache int32 `json:"-"` 723} 724 725func (m *Digest) Reset() { *m = Digest{} } 726func (m *Digest) String() string { return proto.CompactTextString(m) } 727func (*Digest) ProtoMessage() {} 728func (*Digest) Descriptor() ([]byte, []int) { 729 return fileDescriptor_remote_execution_2379da344af471dd, []int{6} 730} 731func (m *Digest) XXX_Unmarshal(b []byte) error { 732 return xxx_messageInfo_Digest.Unmarshal(m, b) 733} 734func (m *Digest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 735 return xxx_messageInfo_Digest.Marshal(b, m, deterministic) 736} 737func (dst *Digest) XXX_Merge(src proto.Message) { 738 xxx_messageInfo_Digest.Merge(dst, src) 739} 740func (m *Digest) XXX_Size() int { 741 return xxx_messageInfo_Digest.Size(m) 742} 743func (m *Digest) XXX_DiscardUnknown() { 744 xxx_messageInfo_Digest.DiscardUnknown(m) 745} 746 747var xxx_messageInfo_Digest proto.InternalMessageInfo 748 749func (m *Digest) GetHash() string { 750 if m != nil { 751 return m.Hash 752 } 753 return "" 754} 755 756func (m *Digest) GetSizeBytes() int64 { 757 if m != nil { 758 return m.SizeBytes 759 } 760 return 0 761} 762 763// An ActionResult represents the result of an 764// [Action][google.devtools.remoteexecution.v1test.Action] being run. 765type ActionResult struct { 766 // The output files of the action. For each output file requested in the 767 // `output_files` field of the Action, if the corresponding file existed after 768 // the action completed, a single entry will be present in the output list. 769 // 770 // If the action does not produce the requested output, or produces a 771 // directory where a regular file is expected or vice versa, then that output 772 // will be omitted from the list. The server is free to arrange the output 773 // list as desired; clients MUST NOT assume that the output list is sorted. 774 OutputFiles []*OutputFile `protobuf:"bytes,2,rep,name=output_files,json=outputFiles,proto3" json:"output_files,omitempty"` 775 // The output directories of the action. For each output directory requested 776 // in the `output_directories` field of the Action, if the corresponding 777 // directory existed after the action completed, a single entry will be 778 // present in the output list, which will contain the digest of 779 // a [Tree][google.devtools.remoteexecution.v1test.Tree] message containing 780 // the directory tree, and the path equal exactly to the corresponding Action 781 // output_directories member. 782 // As an example, suppose the Action had an output directory `a/b/dir` and the 783 // execution produced the following contents in `a/b/dir`: a file named `bar` 784 // and a directory named `foo` with an executable file named `baz`. Then, 785 // output_directory will contain (hashes shortened for readability): 786 // 787 // ```json 788 // // OutputDirectory proto: 789 // { 790 // path: "a/b/dir" 791 // tree_digest: { 792 // hash: "4a73bc9d03...", 793 // size: 55 794 // } 795 // } 796 // // Tree proto with hash "4a73bc9d03..." and size 55: 797 // { 798 // root: { 799 // files: [ 800 // { 801 // name: "bar", 802 // digest: { 803 // hash: "4a73bc9d03...", 804 // size: 65534 805 // } 806 // } 807 // ], 808 // directories: [ 809 // { 810 // name: "foo", 811 // digest: { 812 // hash: "4cf2eda940...", 813 // size: 43 814 // } 815 // } 816 // ] 817 // } 818 // children : { 819 // // (Directory proto with hash "4cf2eda940..." and size 43) 820 // files: [ 821 // { 822 // name: "baz", 823 // digest: { 824 // hash: "b2c941073e...", 825 // size: 1294, 826 // }, 827 // is_executable: true 828 // } 829 // ] 830 // } 831 // } 832 // ``` 833 OutputDirectories []*OutputDirectory `protobuf:"bytes,3,rep,name=output_directories,json=outputDirectories,proto3" json:"output_directories,omitempty"` 834 // The exit code of the command. 835 ExitCode int32 `protobuf:"varint,4,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` 836 // The standard output buffer of the action. The server will determine, based 837 // on the size of the buffer, whether to return it in raw form or to return 838 // a digest in `stdout_digest` that points to the buffer. If neither is set, 839 // then the buffer is empty. The client SHOULD NOT assume it will get one of 840 // the raw buffer or a digest on any given request and should be prepared to 841 // handle either. 842 StdoutRaw []byte `protobuf:"bytes,5,opt,name=stdout_raw,json=stdoutRaw,proto3" json:"stdout_raw,omitempty"` 843 // The digest for a blob containing the standard output of the action, which 844 // can be retrieved from the 845 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 846 // See `stdout_raw` for when this will be set. 847 StdoutDigest *Digest `protobuf:"bytes,6,opt,name=stdout_digest,json=stdoutDigest,proto3" json:"stdout_digest,omitempty"` 848 // The standard error buffer of the action. The server will determine, based 849 // on the size of the buffer, whether to return it in raw form or to return 850 // a digest in `stderr_digest` that points to the buffer. If neither is set, 851 // then the buffer is empty. The client SHOULD NOT assume it will get one of 852 // the raw buffer or a digest on any given request and should be prepared to 853 // handle either. 854 StderrRaw []byte `protobuf:"bytes,7,opt,name=stderr_raw,json=stderrRaw,proto3" json:"stderr_raw,omitempty"` 855 // The digest for a blob containing the standard error of the action, which 856 // can be retrieved from the 857 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 858 // See `stderr_raw` for when this will be set. 859 StderrDigest *Digest `protobuf:"bytes,8,opt,name=stderr_digest,json=stderrDigest,proto3" json:"stderr_digest,omitempty"` 860 XXX_NoUnkeyedLiteral struct{} `json:"-"` 861 XXX_unrecognized []byte `json:"-"` 862 XXX_sizecache int32 `json:"-"` 863} 864 865func (m *ActionResult) Reset() { *m = ActionResult{} } 866func (m *ActionResult) String() string { return proto.CompactTextString(m) } 867func (*ActionResult) ProtoMessage() {} 868func (*ActionResult) Descriptor() ([]byte, []int) { 869 return fileDescriptor_remote_execution_2379da344af471dd, []int{7} 870} 871func (m *ActionResult) XXX_Unmarshal(b []byte) error { 872 return xxx_messageInfo_ActionResult.Unmarshal(m, b) 873} 874func (m *ActionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 875 return xxx_messageInfo_ActionResult.Marshal(b, m, deterministic) 876} 877func (dst *ActionResult) XXX_Merge(src proto.Message) { 878 xxx_messageInfo_ActionResult.Merge(dst, src) 879} 880func (m *ActionResult) XXX_Size() int { 881 return xxx_messageInfo_ActionResult.Size(m) 882} 883func (m *ActionResult) XXX_DiscardUnknown() { 884 xxx_messageInfo_ActionResult.DiscardUnknown(m) 885} 886 887var xxx_messageInfo_ActionResult proto.InternalMessageInfo 888 889func (m *ActionResult) GetOutputFiles() []*OutputFile { 890 if m != nil { 891 return m.OutputFiles 892 } 893 return nil 894} 895 896func (m *ActionResult) GetOutputDirectories() []*OutputDirectory { 897 if m != nil { 898 return m.OutputDirectories 899 } 900 return nil 901} 902 903func (m *ActionResult) GetExitCode() int32 { 904 if m != nil { 905 return m.ExitCode 906 } 907 return 0 908} 909 910func (m *ActionResult) GetStdoutRaw() []byte { 911 if m != nil { 912 return m.StdoutRaw 913 } 914 return nil 915} 916 917func (m *ActionResult) GetStdoutDigest() *Digest { 918 if m != nil { 919 return m.StdoutDigest 920 } 921 return nil 922} 923 924func (m *ActionResult) GetStderrRaw() []byte { 925 if m != nil { 926 return m.StderrRaw 927 } 928 return nil 929} 930 931func (m *ActionResult) GetStderrDigest() *Digest { 932 if m != nil { 933 return m.StderrDigest 934 } 935 return nil 936} 937 938// An `OutputFile` is similar to a 939// [FileNode][google.devtools.remoteexecution.v1test.FileNode], but it is 940// tailored for output as part of an `ActionResult`. It allows a full file path 941// rather than only a name, and allows the server to include content inline. 942// 943// `OutputFile` is binary-compatible with `FileNode`. 944type OutputFile struct { 945 // The full path of the file relative to the input root, including the 946 // filename. The path separator is a forward slash `/`. Since this is a 947 // relative path, it MUST NOT begin with a leading forward slash. 948 Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` 949 // The digest of the file's content. 950 Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` 951 // The raw content of the file. 952 // 953 // This field may be used by the server to provide the content of a file 954 // inline in an 955 // [ActionResult][google.devtools.remoteexecution.v1test.ActionResult] and 956 // avoid requiring that the client make a separate call to 957 // [ContentAddressableStorage.GetBlob] to retrieve it. 958 // 959 // The client SHOULD NOT assume that it will get raw content with any request, 960 // and always be prepared to retrieve it via `digest`. 961 Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` 962 // True if file is executable, false otherwise. 963 IsExecutable bool `protobuf:"varint,4,opt,name=is_executable,json=isExecutable,proto3" json:"is_executable,omitempty"` 964 XXX_NoUnkeyedLiteral struct{} `json:"-"` 965 XXX_unrecognized []byte `json:"-"` 966 XXX_sizecache int32 `json:"-"` 967} 968 969func (m *OutputFile) Reset() { *m = OutputFile{} } 970func (m *OutputFile) String() string { return proto.CompactTextString(m) } 971func (*OutputFile) ProtoMessage() {} 972func (*OutputFile) Descriptor() ([]byte, []int) { 973 return fileDescriptor_remote_execution_2379da344af471dd, []int{8} 974} 975func (m *OutputFile) XXX_Unmarshal(b []byte) error { 976 return xxx_messageInfo_OutputFile.Unmarshal(m, b) 977} 978func (m *OutputFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 979 return xxx_messageInfo_OutputFile.Marshal(b, m, deterministic) 980} 981func (dst *OutputFile) XXX_Merge(src proto.Message) { 982 xxx_messageInfo_OutputFile.Merge(dst, src) 983} 984func (m *OutputFile) XXX_Size() int { 985 return xxx_messageInfo_OutputFile.Size(m) 986} 987func (m *OutputFile) XXX_DiscardUnknown() { 988 xxx_messageInfo_OutputFile.DiscardUnknown(m) 989} 990 991var xxx_messageInfo_OutputFile proto.InternalMessageInfo 992 993func (m *OutputFile) GetPath() string { 994 if m != nil { 995 return m.Path 996 } 997 return "" 998} 999 1000func (m *OutputFile) GetDigest() *Digest { 1001 if m != nil { 1002 return m.Digest 1003 } 1004 return nil 1005} 1006 1007func (m *OutputFile) GetContent() []byte { 1008 if m != nil { 1009 return m.Content 1010 } 1011 return nil 1012} 1013 1014func (m *OutputFile) GetIsExecutable() bool { 1015 if m != nil { 1016 return m.IsExecutable 1017 } 1018 return false 1019} 1020 1021// A `Tree` contains all the 1022// [Directory][google.devtools.remoteexecution.v1test.Directory] protos in a 1023// single directory Merkle tree, compressed into one message. 1024type Tree struct { 1025 // The root directory in the tree. 1026 Root *Directory `protobuf:"bytes,1,opt,name=root,proto3" json:"root,omitempty"` 1027 // All the child directories: the directories referred to by the root and, 1028 // recursively, all its children. In order to reconstruct the directory tree, 1029 // the client must take the digests of each of the child directories and then 1030 // build up a tree starting from the `root`. 1031 Children []*Directory `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"` 1032 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1033 XXX_unrecognized []byte `json:"-"` 1034 XXX_sizecache int32 `json:"-"` 1035} 1036 1037func (m *Tree) Reset() { *m = Tree{} } 1038func (m *Tree) String() string { return proto.CompactTextString(m) } 1039func (*Tree) ProtoMessage() {} 1040func (*Tree) Descriptor() ([]byte, []int) { 1041 return fileDescriptor_remote_execution_2379da344af471dd, []int{9} 1042} 1043func (m *Tree) XXX_Unmarshal(b []byte) error { 1044 return xxx_messageInfo_Tree.Unmarshal(m, b) 1045} 1046func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1047 return xxx_messageInfo_Tree.Marshal(b, m, deterministic) 1048} 1049func (dst *Tree) XXX_Merge(src proto.Message) { 1050 xxx_messageInfo_Tree.Merge(dst, src) 1051} 1052func (m *Tree) XXX_Size() int { 1053 return xxx_messageInfo_Tree.Size(m) 1054} 1055func (m *Tree) XXX_DiscardUnknown() { 1056 xxx_messageInfo_Tree.DiscardUnknown(m) 1057} 1058 1059var xxx_messageInfo_Tree proto.InternalMessageInfo 1060 1061func (m *Tree) GetRoot() *Directory { 1062 if m != nil { 1063 return m.Root 1064 } 1065 return nil 1066} 1067 1068func (m *Tree) GetChildren() []*Directory { 1069 if m != nil { 1070 return m.Children 1071 } 1072 return nil 1073} 1074 1075// An `OutputDirectory` is the output in an `ActionResult` corresponding to a 1076// directory's full contents rather than a single file. 1077type OutputDirectory struct { 1078 // The full path of the directory relative to the working directory. The path 1079 // separator is a forward slash `/`. Since this is a relative path, it MUST 1080 // NOT begin with a leading forward slash. The empty string value is allowed, 1081 // and it denotes the entire working directory. 1082 Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` 1083 // DEPRECATED: This field is deprecated and should no longer be used. 1084 Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` 1085 // The digest of the encoded 1086 // [Tree][google.devtools.remoteexecution.v1test.Tree] proto containing the 1087 // directory's contents. 1088 TreeDigest *Digest `protobuf:"bytes,3,opt,name=tree_digest,json=treeDigest,proto3" json:"tree_digest,omitempty"` 1089 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1090 XXX_unrecognized []byte `json:"-"` 1091 XXX_sizecache int32 `json:"-"` 1092} 1093 1094func (m *OutputDirectory) Reset() { *m = OutputDirectory{} } 1095func (m *OutputDirectory) String() string { return proto.CompactTextString(m) } 1096func (*OutputDirectory) ProtoMessage() {} 1097func (*OutputDirectory) Descriptor() ([]byte, []int) { 1098 return fileDescriptor_remote_execution_2379da344af471dd, []int{10} 1099} 1100func (m *OutputDirectory) XXX_Unmarshal(b []byte) error { 1101 return xxx_messageInfo_OutputDirectory.Unmarshal(m, b) 1102} 1103func (m *OutputDirectory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1104 return xxx_messageInfo_OutputDirectory.Marshal(b, m, deterministic) 1105} 1106func (dst *OutputDirectory) XXX_Merge(src proto.Message) { 1107 xxx_messageInfo_OutputDirectory.Merge(dst, src) 1108} 1109func (m *OutputDirectory) XXX_Size() int { 1110 return xxx_messageInfo_OutputDirectory.Size(m) 1111} 1112func (m *OutputDirectory) XXX_DiscardUnknown() { 1113 xxx_messageInfo_OutputDirectory.DiscardUnknown(m) 1114} 1115 1116var xxx_messageInfo_OutputDirectory proto.InternalMessageInfo 1117 1118func (m *OutputDirectory) GetPath() string { 1119 if m != nil { 1120 return m.Path 1121 } 1122 return "" 1123} 1124 1125func (m *OutputDirectory) GetDigest() *Digest { 1126 if m != nil { 1127 return m.Digest 1128 } 1129 return nil 1130} 1131 1132func (m *OutputDirectory) GetTreeDigest() *Digest { 1133 if m != nil { 1134 return m.TreeDigest 1135 } 1136 return nil 1137} 1138 1139// A request message for 1140// [Execution.Execute][google.devtools.remoteexecution.v1test.Execution.Execute]. 1141type ExecuteRequest struct { 1142 // The instance of the execution system to operate against. A server may 1143 // support multiple instances of the execution system (with their own workers, 1144 // storage, caches, etc.). The server MAY require use of this field to select 1145 // between them in an implementation-defined fashion, otherwise it can be 1146 // omitted. 1147 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1148 // The action to be performed. 1149 Action *Action `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` 1150 // If true, the action will be executed anew even if its result was already 1151 // present in the cache. If false, the result may be served from the 1152 // [ActionCache][google.devtools.remoteexecution.v1test.ActionCache]. 1153 SkipCacheLookup bool `protobuf:"varint,3,opt,name=skip_cache_lookup,json=skipCacheLookup,proto3" json:"skip_cache_lookup,omitempty"` 1154 // DEPRECATED: This field should be ignored by clients and servers and will be 1155 // removed. 1156 TotalInputFileCount int32 `protobuf:"varint,4,opt,name=total_input_file_count,json=totalInputFileCount,proto3" json:"total_input_file_count,omitempty"` 1157 // DEPRECATED: This field should be ignored by clients and servers and will be 1158 // removed. 1159 TotalInputFileBytes int64 `protobuf:"varint,5,opt,name=total_input_file_bytes,json=totalInputFileBytes,proto3" json:"total_input_file_bytes,omitempty"` 1160 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1161 XXX_unrecognized []byte `json:"-"` 1162 XXX_sizecache int32 `json:"-"` 1163} 1164 1165func (m *ExecuteRequest) Reset() { *m = ExecuteRequest{} } 1166func (m *ExecuteRequest) String() string { return proto.CompactTextString(m) } 1167func (*ExecuteRequest) ProtoMessage() {} 1168func (*ExecuteRequest) Descriptor() ([]byte, []int) { 1169 return fileDescriptor_remote_execution_2379da344af471dd, []int{11} 1170} 1171func (m *ExecuteRequest) XXX_Unmarshal(b []byte) error { 1172 return xxx_messageInfo_ExecuteRequest.Unmarshal(m, b) 1173} 1174func (m *ExecuteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1175 return xxx_messageInfo_ExecuteRequest.Marshal(b, m, deterministic) 1176} 1177func (dst *ExecuteRequest) XXX_Merge(src proto.Message) { 1178 xxx_messageInfo_ExecuteRequest.Merge(dst, src) 1179} 1180func (m *ExecuteRequest) XXX_Size() int { 1181 return xxx_messageInfo_ExecuteRequest.Size(m) 1182} 1183func (m *ExecuteRequest) XXX_DiscardUnknown() { 1184 xxx_messageInfo_ExecuteRequest.DiscardUnknown(m) 1185} 1186 1187var xxx_messageInfo_ExecuteRequest proto.InternalMessageInfo 1188 1189func (m *ExecuteRequest) GetInstanceName() string { 1190 if m != nil { 1191 return m.InstanceName 1192 } 1193 return "" 1194} 1195 1196func (m *ExecuteRequest) GetAction() *Action { 1197 if m != nil { 1198 return m.Action 1199 } 1200 return nil 1201} 1202 1203func (m *ExecuteRequest) GetSkipCacheLookup() bool { 1204 if m != nil { 1205 return m.SkipCacheLookup 1206 } 1207 return false 1208} 1209 1210func (m *ExecuteRequest) GetTotalInputFileCount() int32 { 1211 if m != nil { 1212 return m.TotalInputFileCount 1213 } 1214 return 0 1215} 1216 1217func (m *ExecuteRequest) GetTotalInputFileBytes() int64 { 1218 if m != nil { 1219 return m.TotalInputFileBytes 1220 } 1221 return 0 1222} 1223 1224// A `LogFile` is a log stored in the CAS. 1225type LogFile struct { 1226 // The digest of the log contents. 1227 Digest *Digest `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` 1228 // This is a hint as to the purpose of the log, and is set to true if the log 1229 // is human-readable text that can be usefully displayed to a user, and false 1230 // otherwise. For instance, if a command-line client wishes to print the 1231 // server logs to the terminal for a failed action, this allows it to avoid 1232 // displaying a binary file. 1233 HumanReadable bool `protobuf:"varint,2,opt,name=human_readable,json=humanReadable,proto3" json:"human_readable,omitempty"` 1234 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1235 XXX_unrecognized []byte `json:"-"` 1236 XXX_sizecache int32 `json:"-"` 1237} 1238 1239func (m *LogFile) Reset() { *m = LogFile{} } 1240func (m *LogFile) String() string { return proto.CompactTextString(m) } 1241func (*LogFile) ProtoMessage() {} 1242func (*LogFile) Descriptor() ([]byte, []int) { 1243 return fileDescriptor_remote_execution_2379da344af471dd, []int{12} 1244} 1245func (m *LogFile) XXX_Unmarshal(b []byte) error { 1246 return xxx_messageInfo_LogFile.Unmarshal(m, b) 1247} 1248func (m *LogFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1249 return xxx_messageInfo_LogFile.Marshal(b, m, deterministic) 1250} 1251func (dst *LogFile) XXX_Merge(src proto.Message) { 1252 xxx_messageInfo_LogFile.Merge(dst, src) 1253} 1254func (m *LogFile) XXX_Size() int { 1255 return xxx_messageInfo_LogFile.Size(m) 1256} 1257func (m *LogFile) XXX_DiscardUnknown() { 1258 xxx_messageInfo_LogFile.DiscardUnknown(m) 1259} 1260 1261var xxx_messageInfo_LogFile proto.InternalMessageInfo 1262 1263func (m *LogFile) GetDigest() *Digest { 1264 if m != nil { 1265 return m.Digest 1266 } 1267 return nil 1268} 1269 1270func (m *LogFile) GetHumanReadable() bool { 1271 if m != nil { 1272 return m.HumanReadable 1273 } 1274 return false 1275} 1276 1277// The response message for 1278// [Execution.Execute][google.devtools.remoteexecution.v1test.Execution.Execute], 1279// which will be contained in the [response 1280// field][google.longrunning.Operation.response] of the 1281// [Operation][google.longrunning.Operation]. 1282type ExecuteResponse struct { 1283 // The result of the action. 1284 Result *ActionResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` 1285 // True if the result was served from cache, false if it was executed. 1286 CachedResult bool `protobuf:"varint,2,opt,name=cached_result,json=cachedResult,proto3" json:"cached_result,omitempty"` 1287 // If the status has a code other than `OK`, it indicates that the action did 1288 // not finish execution. For example, if the operation times out during 1289 // execution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST 1290 // use this field for errors in execution, rather than the error field on the 1291 // `Operation` object. 1292 // 1293 // If the status code is other than `OK`, then the result MUST NOT be cached. 1294 // For an error status, the `result` field is optional; the server may 1295 // populate the output-, stdout-, and stderr-related fields if it has any 1296 // information available, such as the stdout and stderr of a timed-out action. 1297 Status *status.Status `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` 1298 // An optional list of additional log outputs the server wishes to provide. A 1299 // server can use this to return execution-specific logs however it wishes. 1300 // This is intended primarily to make it easier for users to debug issues that 1301 // may be outside of the actual job execution, such as by identifying the 1302 // worker executing the action or by providing logs from the worker's setup 1303 // phase. The keys SHOULD be human readable so that a client can display them 1304 // to a user. 1305 ServerLogs map[string]*LogFile `protobuf:"bytes,4,rep,name=server_logs,json=serverLogs,proto3" json:"server_logs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1306 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1307 XXX_unrecognized []byte `json:"-"` 1308 XXX_sizecache int32 `json:"-"` 1309} 1310 1311func (m *ExecuteResponse) Reset() { *m = ExecuteResponse{} } 1312func (m *ExecuteResponse) String() string { return proto.CompactTextString(m) } 1313func (*ExecuteResponse) ProtoMessage() {} 1314func (*ExecuteResponse) Descriptor() ([]byte, []int) { 1315 return fileDescriptor_remote_execution_2379da344af471dd, []int{13} 1316} 1317func (m *ExecuteResponse) XXX_Unmarshal(b []byte) error { 1318 return xxx_messageInfo_ExecuteResponse.Unmarshal(m, b) 1319} 1320func (m *ExecuteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1321 return xxx_messageInfo_ExecuteResponse.Marshal(b, m, deterministic) 1322} 1323func (dst *ExecuteResponse) XXX_Merge(src proto.Message) { 1324 xxx_messageInfo_ExecuteResponse.Merge(dst, src) 1325} 1326func (m *ExecuteResponse) XXX_Size() int { 1327 return xxx_messageInfo_ExecuteResponse.Size(m) 1328} 1329func (m *ExecuteResponse) XXX_DiscardUnknown() { 1330 xxx_messageInfo_ExecuteResponse.DiscardUnknown(m) 1331} 1332 1333var xxx_messageInfo_ExecuteResponse proto.InternalMessageInfo 1334 1335func (m *ExecuteResponse) GetResult() *ActionResult { 1336 if m != nil { 1337 return m.Result 1338 } 1339 return nil 1340} 1341 1342func (m *ExecuteResponse) GetCachedResult() bool { 1343 if m != nil { 1344 return m.CachedResult 1345 } 1346 return false 1347} 1348 1349func (m *ExecuteResponse) GetStatus() *status.Status { 1350 if m != nil { 1351 return m.Status 1352 } 1353 return nil 1354} 1355 1356func (m *ExecuteResponse) GetServerLogs() map[string]*LogFile { 1357 if m != nil { 1358 return m.ServerLogs 1359 } 1360 return nil 1361} 1362 1363// Metadata about an ongoing 1364// [execution][google.devtools.remoteexecution.v1test.Execution.Execute], which 1365// will be contained in the [metadata 1366// field][google.longrunning.Operation.response] of the 1367// [Operation][google.longrunning.Operation]. 1368type ExecuteOperationMetadata struct { 1369 Stage ExecuteOperationMetadata_Stage `protobuf:"varint,1,opt,name=stage,proto3,enum=google.devtools.remoteexecution.v1test.ExecuteOperationMetadata_Stage" json:"stage,omitempty"` 1370 // The digest of the [Action][google.devtools.remoteexecution.v1test.Action] 1371 // being executed. 1372 ActionDigest *Digest `protobuf:"bytes,2,opt,name=action_digest,json=actionDigest,proto3" json:"action_digest,omitempty"` 1373 // If set, the client can use this name with 1374 // [ByteStream.Read][google.bytestream.ByteStream.Read] to stream the 1375 // standard output. 1376 StdoutStreamName string `protobuf:"bytes,3,opt,name=stdout_stream_name,json=stdoutStreamName,proto3" json:"stdout_stream_name,omitempty"` 1377 // If set, the client can use this name with 1378 // [ByteStream.Read][google.bytestream.ByteStream.Read] to stream the 1379 // standard error. 1380 StderrStreamName string `protobuf:"bytes,4,opt,name=stderr_stream_name,json=stderrStreamName,proto3" json:"stderr_stream_name,omitempty"` 1381 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1382 XXX_unrecognized []byte `json:"-"` 1383 XXX_sizecache int32 `json:"-"` 1384} 1385 1386func (m *ExecuteOperationMetadata) Reset() { *m = ExecuteOperationMetadata{} } 1387func (m *ExecuteOperationMetadata) String() string { return proto.CompactTextString(m) } 1388func (*ExecuteOperationMetadata) ProtoMessage() {} 1389func (*ExecuteOperationMetadata) Descriptor() ([]byte, []int) { 1390 return fileDescriptor_remote_execution_2379da344af471dd, []int{14} 1391} 1392func (m *ExecuteOperationMetadata) XXX_Unmarshal(b []byte) error { 1393 return xxx_messageInfo_ExecuteOperationMetadata.Unmarshal(m, b) 1394} 1395func (m *ExecuteOperationMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1396 return xxx_messageInfo_ExecuteOperationMetadata.Marshal(b, m, deterministic) 1397} 1398func (dst *ExecuteOperationMetadata) XXX_Merge(src proto.Message) { 1399 xxx_messageInfo_ExecuteOperationMetadata.Merge(dst, src) 1400} 1401func (m *ExecuteOperationMetadata) XXX_Size() int { 1402 return xxx_messageInfo_ExecuteOperationMetadata.Size(m) 1403} 1404func (m *ExecuteOperationMetadata) XXX_DiscardUnknown() { 1405 xxx_messageInfo_ExecuteOperationMetadata.DiscardUnknown(m) 1406} 1407 1408var xxx_messageInfo_ExecuteOperationMetadata proto.InternalMessageInfo 1409 1410func (m *ExecuteOperationMetadata) GetStage() ExecuteOperationMetadata_Stage { 1411 if m != nil { 1412 return m.Stage 1413 } 1414 return ExecuteOperationMetadata_UNKNOWN 1415} 1416 1417func (m *ExecuteOperationMetadata) GetActionDigest() *Digest { 1418 if m != nil { 1419 return m.ActionDigest 1420 } 1421 return nil 1422} 1423 1424func (m *ExecuteOperationMetadata) GetStdoutStreamName() string { 1425 if m != nil { 1426 return m.StdoutStreamName 1427 } 1428 return "" 1429} 1430 1431func (m *ExecuteOperationMetadata) GetStderrStreamName() string { 1432 if m != nil { 1433 return m.StderrStreamName 1434 } 1435 return "" 1436} 1437 1438// A request message for 1439// [ActionCache.GetActionResult][google.devtools.remoteexecution.v1test.ActionCache.GetActionResult]. 1440type GetActionResultRequest struct { 1441 // The instance of the execution system to operate against. A server may 1442 // support multiple instances of the execution system (with their own workers, 1443 // storage, caches, etc.). The server MAY require use of this field to select 1444 // between them in an implementation-defined fashion, otherwise it can be 1445 // omitted. 1446 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1447 // The digest of the [Action][google.devtools.remoteexecution.v1test.Action] 1448 // whose result is requested. 1449 ActionDigest *Digest `protobuf:"bytes,2,opt,name=action_digest,json=actionDigest,proto3" json:"action_digest,omitempty"` 1450 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1451 XXX_unrecognized []byte `json:"-"` 1452 XXX_sizecache int32 `json:"-"` 1453} 1454 1455func (m *GetActionResultRequest) Reset() { *m = GetActionResultRequest{} } 1456func (m *GetActionResultRequest) String() string { return proto.CompactTextString(m) } 1457func (*GetActionResultRequest) ProtoMessage() {} 1458func (*GetActionResultRequest) Descriptor() ([]byte, []int) { 1459 return fileDescriptor_remote_execution_2379da344af471dd, []int{15} 1460} 1461func (m *GetActionResultRequest) XXX_Unmarshal(b []byte) error { 1462 return xxx_messageInfo_GetActionResultRequest.Unmarshal(m, b) 1463} 1464func (m *GetActionResultRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1465 return xxx_messageInfo_GetActionResultRequest.Marshal(b, m, deterministic) 1466} 1467func (dst *GetActionResultRequest) XXX_Merge(src proto.Message) { 1468 xxx_messageInfo_GetActionResultRequest.Merge(dst, src) 1469} 1470func (m *GetActionResultRequest) XXX_Size() int { 1471 return xxx_messageInfo_GetActionResultRequest.Size(m) 1472} 1473func (m *GetActionResultRequest) XXX_DiscardUnknown() { 1474 xxx_messageInfo_GetActionResultRequest.DiscardUnknown(m) 1475} 1476 1477var xxx_messageInfo_GetActionResultRequest proto.InternalMessageInfo 1478 1479func (m *GetActionResultRequest) GetInstanceName() string { 1480 if m != nil { 1481 return m.InstanceName 1482 } 1483 return "" 1484} 1485 1486func (m *GetActionResultRequest) GetActionDigest() *Digest { 1487 if m != nil { 1488 return m.ActionDigest 1489 } 1490 return nil 1491} 1492 1493// A request message for 1494// [ActionCache.UpdateActionResult][google.devtools.remoteexecution.v1test.ActionCache.UpdateActionResult]. 1495type UpdateActionResultRequest struct { 1496 // The instance of the execution system to operate against. A server may 1497 // support multiple instances of the execution system (with their own workers, 1498 // storage, caches, etc.). The server MAY require use of this field to select 1499 // between them in an implementation-defined fashion, otherwise it can be 1500 // omitted. 1501 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1502 // The digest of the [Action][google.devtools.remoteexecution.v1test.Action] 1503 // whose result is being uploaded. 1504 ActionDigest *Digest `protobuf:"bytes,2,opt,name=action_digest,json=actionDigest,proto3" json:"action_digest,omitempty"` 1505 // The [ActionResult][google.devtools.remoteexecution.v1test.ActionResult] 1506 // to store in the cache. 1507 ActionResult *ActionResult `protobuf:"bytes,3,opt,name=action_result,json=actionResult,proto3" json:"action_result,omitempty"` 1508 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1509 XXX_unrecognized []byte `json:"-"` 1510 XXX_sizecache int32 `json:"-"` 1511} 1512 1513func (m *UpdateActionResultRequest) Reset() { *m = UpdateActionResultRequest{} } 1514func (m *UpdateActionResultRequest) String() string { return proto.CompactTextString(m) } 1515func (*UpdateActionResultRequest) ProtoMessage() {} 1516func (*UpdateActionResultRequest) Descriptor() ([]byte, []int) { 1517 return fileDescriptor_remote_execution_2379da344af471dd, []int{16} 1518} 1519func (m *UpdateActionResultRequest) XXX_Unmarshal(b []byte) error { 1520 return xxx_messageInfo_UpdateActionResultRequest.Unmarshal(m, b) 1521} 1522func (m *UpdateActionResultRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1523 return xxx_messageInfo_UpdateActionResultRequest.Marshal(b, m, deterministic) 1524} 1525func (dst *UpdateActionResultRequest) XXX_Merge(src proto.Message) { 1526 xxx_messageInfo_UpdateActionResultRequest.Merge(dst, src) 1527} 1528func (m *UpdateActionResultRequest) XXX_Size() int { 1529 return xxx_messageInfo_UpdateActionResultRequest.Size(m) 1530} 1531func (m *UpdateActionResultRequest) XXX_DiscardUnknown() { 1532 xxx_messageInfo_UpdateActionResultRequest.DiscardUnknown(m) 1533} 1534 1535var xxx_messageInfo_UpdateActionResultRequest proto.InternalMessageInfo 1536 1537func (m *UpdateActionResultRequest) GetInstanceName() string { 1538 if m != nil { 1539 return m.InstanceName 1540 } 1541 return "" 1542} 1543 1544func (m *UpdateActionResultRequest) GetActionDigest() *Digest { 1545 if m != nil { 1546 return m.ActionDigest 1547 } 1548 return nil 1549} 1550 1551func (m *UpdateActionResultRequest) GetActionResult() *ActionResult { 1552 if m != nil { 1553 return m.ActionResult 1554 } 1555 return nil 1556} 1557 1558// A request message for 1559// [ContentAddressableStorage.FindMissingBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.FindMissingBlobs]. 1560type FindMissingBlobsRequest struct { 1561 // The instance of the execution system to operate against. A server may 1562 // support multiple instances of the execution system (with their own workers, 1563 // storage, caches, etc.). The server MAY require use of this field to select 1564 // between them in an implementation-defined fashion, otherwise it can be 1565 // omitted. 1566 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1567 // A list of the blobs to check. 1568 BlobDigests []*Digest `protobuf:"bytes,2,rep,name=blob_digests,json=blobDigests,proto3" json:"blob_digests,omitempty"` 1569 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1570 XXX_unrecognized []byte `json:"-"` 1571 XXX_sizecache int32 `json:"-"` 1572} 1573 1574func (m *FindMissingBlobsRequest) Reset() { *m = FindMissingBlobsRequest{} } 1575func (m *FindMissingBlobsRequest) String() string { return proto.CompactTextString(m) } 1576func (*FindMissingBlobsRequest) ProtoMessage() {} 1577func (*FindMissingBlobsRequest) Descriptor() ([]byte, []int) { 1578 return fileDescriptor_remote_execution_2379da344af471dd, []int{17} 1579} 1580func (m *FindMissingBlobsRequest) XXX_Unmarshal(b []byte) error { 1581 return xxx_messageInfo_FindMissingBlobsRequest.Unmarshal(m, b) 1582} 1583func (m *FindMissingBlobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1584 return xxx_messageInfo_FindMissingBlobsRequest.Marshal(b, m, deterministic) 1585} 1586func (dst *FindMissingBlobsRequest) XXX_Merge(src proto.Message) { 1587 xxx_messageInfo_FindMissingBlobsRequest.Merge(dst, src) 1588} 1589func (m *FindMissingBlobsRequest) XXX_Size() int { 1590 return xxx_messageInfo_FindMissingBlobsRequest.Size(m) 1591} 1592func (m *FindMissingBlobsRequest) XXX_DiscardUnknown() { 1593 xxx_messageInfo_FindMissingBlobsRequest.DiscardUnknown(m) 1594} 1595 1596var xxx_messageInfo_FindMissingBlobsRequest proto.InternalMessageInfo 1597 1598func (m *FindMissingBlobsRequest) GetInstanceName() string { 1599 if m != nil { 1600 return m.InstanceName 1601 } 1602 return "" 1603} 1604 1605func (m *FindMissingBlobsRequest) GetBlobDigests() []*Digest { 1606 if m != nil { 1607 return m.BlobDigests 1608 } 1609 return nil 1610} 1611 1612// A response message for 1613// [ContentAddressableStorage.FindMissingBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.FindMissingBlobs]. 1614type FindMissingBlobsResponse struct { 1615 // A list of the blobs requested *not* present in the storage. 1616 MissingBlobDigests []*Digest `protobuf:"bytes,2,rep,name=missing_blob_digests,json=missingBlobDigests,proto3" json:"missing_blob_digests,omitempty"` 1617 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1618 XXX_unrecognized []byte `json:"-"` 1619 XXX_sizecache int32 `json:"-"` 1620} 1621 1622func (m *FindMissingBlobsResponse) Reset() { *m = FindMissingBlobsResponse{} } 1623func (m *FindMissingBlobsResponse) String() string { return proto.CompactTextString(m) } 1624func (*FindMissingBlobsResponse) ProtoMessage() {} 1625func (*FindMissingBlobsResponse) Descriptor() ([]byte, []int) { 1626 return fileDescriptor_remote_execution_2379da344af471dd, []int{18} 1627} 1628func (m *FindMissingBlobsResponse) XXX_Unmarshal(b []byte) error { 1629 return xxx_messageInfo_FindMissingBlobsResponse.Unmarshal(m, b) 1630} 1631func (m *FindMissingBlobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1632 return xxx_messageInfo_FindMissingBlobsResponse.Marshal(b, m, deterministic) 1633} 1634func (dst *FindMissingBlobsResponse) XXX_Merge(src proto.Message) { 1635 xxx_messageInfo_FindMissingBlobsResponse.Merge(dst, src) 1636} 1637func (m *FindMissingBlobsResponse) XXX_Size() int { 1638 return xxx_messageInfo_FindMissingBlobsResponse.Size(m) 1639} 1640func (m *FindMissingBlobsResponse) XXX_DiscardUnknown() { 1641 xxx_messageInfo_FindMissingBlobsResponse.DiscardUnknown(m) 1642} 1643 1644var xxx_messageInfo_FindMissingBlobsResponse proto.InternalMessageInfo 1645 1646func (m *FindMissingBlobsResponse) GetMissingBlobDigests() []*Digest { 1647 if m != nil { 1648 return m.MissingBlobDigests 1649 } 1650 return nil 1651} 1652 1653// A single request message for 1654// [ContentAddressableStorage.BatchUpdateBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.BatchUpdateBlobs]. 1655type UpdateBlobRequest struct { 1656 // The digest of the blob. This MUST be the digest of `data`. 1657 ContentDigest *Digest `protobuf:"bytes,1,opt,name=content_digest,json=contentDigest,proto3" json:"content_digest,omitempty"` 1658 // The raw binary data. 1659 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` 1660 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1661 XXX_unrecognized []byte `json:"-"` 1662 XXX_sizecache int32 `json:"-"` 1663} 1664 1665func (m *UpdateBlobRequest) Reset() { *m = UpdateBlobRequest{} } 1666func (m *UpdateBlobRequest) String() string { return proto.CompactTextString(m) } 1667func (*UpdateBlobRequest) ProtoMessage() {} 1668func (*UpdateBlobRequest) Descriptor() ([]byte, []int) { 1669 return fileDescriptor_remote_execution_2379da344af471dd, []int{19} 1670} 1671func (m *UpdateBlobRequest) XXX_Unmarshal(b []byte) error { 1672 return xxx_messageInfo_UpdateBlobRequest.Unmarshal(m, b) 1673} 1674func (m *UpdateBlobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1675 return xxx_messageInfo_UpdateBlobRequest.Marshal(b, m, deterministic) 1676} 1677func (dst *UpdateBlobRequest) XXX_Merge(src proto.Message) { 1678 xxx_messageInfo_UpdateBlobRequest.Merge(dst, src) 1679} 1680func (m *UpdateBlobRequest) XXX_Size() int { 1681 return xxx_messageInfo_UpdateBlobRequest.Size(m) 1682} 1683func (m *UpdateBlobRequest) XXX_DiscardUnknown() { 1684 xxx_messageInfo_UpdateBlobRequest.DiscardUnknown(m) 1685} 1686 1687var xxx_messageInfo_UpdateBlobRequest proto.InternalMessageInfo 1688 1689func (m *UpdateBlobRequest) GetContentDigest() *Digest { 1690 if m != nil { 1691 return m.ContentDigest 1692 } 1693 return nil 1694} 1695 1696func (m *UpdateBlobRequest) GetData() []byte { 1697 if m != nil { 1698 return m.Data 1699 } 1700 return nil 1701} 1702 1703// A request message for 1704// [ContentAddressableStorage.BatchUpdateBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.BatchUpdateBlobs]. 1705type BatchUpdateBlobsRequest struct { 1706 // The instance of the execution system to operate against. A server may 1707 // support multiple instances of the execution system (with their own workers, 1708 // storage, caches, etc.). The server MAY require use of this field to select 1709 // between them in an implementation-defined fashion, otherwise it can be 1710 // omitted. 1711 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1712 // The individual upload requests. 1713 Requests []*UpdateBlobRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` 1714 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1715 XXX_unrecognized []byte `json:"-"` 1716 XXX_sizecache int32 `json:"-"` 1717} 1718 1719func (m *BatchUpdateBlobsRequest) Reset() { *m = BatchUpdateBlobsRequest{} } 1720func (m *BatchUpdateBlobsRequest) String() string { return proto.CompactTextString(m) } 1721func (*BatchUpdateBlobsRequest) ProtoMessage() {} 1722func (*BatchUpdateBlobsRequest) Descriptor() ([]byte, []int) { 1723 return fileDescriptor_remote_execution_2379da344af471dd, []int{20} 1724} 1725func (m *BatchUpdateBlobsRequest) XXX_Unmarshal(b []byte) error { 1726 return xxx_messageInfo_BatchUpdateBlobsRequest.Unmarshal(m, b) 1727} 1728func (m *BatchUpdateBlobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1729 return xxx_messageInfo_BatchUpdateBlobsRequest.Marshal(b, m, deterministic) 1730} 1731func (dst *BatchUpdateBlobsRequest) XXX_Merge(src proto.Message) { 1732 xxx_messageInfo_BatchUpdateBlobsRequest.Merge(dst, src) 1733} 1734func (m *BatchUpdateBlobsRequest) XXX_Size() int { 1735 return xxx_messageInfo_BatchUpdateBlobsRequest.Size(m) 1736} 1737func (m *BatchUpdateBlobsRequest) XXX_DiscardUnknown() { 1738 xxx_messageInfo_BatchUpdateBlobsRequest.DiscardUnknown(m) 1739} 1740 1741var xxx_messageInfo_BatchUpdateBlobsRequest proto.InternalMessageInfo 1742 1743func (m *BatchUpdateBlobsRequest) GetInstanceName() string { 1744 if m != nil { 1745 return m.InstanceName 1746 } 1747 return "" 1748} 1749 1750func (m *BatchUpdateBlobsRequest) GetRequests() []*UpdateBlobRequest { 1751 if m != nil { 1752 return m.Requests 1753 } 1754 return nil 1755} 1756 1757// A response message for 1758// [ContentAddressableStorage.BatchUpdateBlobs][google.devtools.remoteexecution.v1test.ContentAddressableStorage.BatchUpdateBlobs]. 1759type BatchUpdateBlobsResponse struct { 1760 // The responses to the requests. 1761 Responses []*BatchUpdateBlobsResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` 1762 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1763 XXX_unrecognized []byte `json:"-"` 1764 XXX_sizecache int32 `json:"-"` 1765} 1766 1767func (m *BatchUpdateBlobsResponse) Reset() { *m = BatchUpdateBlobsResponse{} } 1768func (m *BatchUpdateBlobsResponse) String() string { return proto.CompactTextString(m) } 1769func (*BatchUpdateBlobsResponse) ProtoMessage() {} 1770func (*BatchUpdateBlobsResponse) Descriptor() ([]byte, []int) { 1771 return fileDescriptor_remote_execution_2379da344af471dd, []int{21} 1772} 1773func (m *BatchUpdateBlobsResponse) XXX_Unmarshal(b []byte) error { 1774 return xxx_messageInfo_BatchUpdateBlobsResponse.Unmarshal(m, b) 1775} 1776func (m *BatchUpdateBlobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1777 return xxx_messageInfo_BatchUpdateBlobsResponse.Marshal(b, m, deterministic) 1778} 1779func (dst *BatchUpdateBlobsResponse) XXX_Merge(src proto.Message) { 1780 xxx_messageInfo_BatchUpdateBlobsResponse.Merge(dst, src) 1781} 1782func (m *BatchUpdateBlobsResponse) XXX_Size() int { 1783 return xxx_messageInfo_BatchUpdateBlobsResponse.Size(m) 1784} 1785func (m *BatchUpdateBlobsResponse) XXX_DiscardUnknown() { 1786 xxx_messageInfo_BatchUpdateBlobsResponse.DiscardUnknown(m) 1787} 1788 1789var xxx_messageInfo_BatchUpdateBlobsResponse proto.InternalMessageInfo 1790 1791func (m *BatchUpdateBlobsResponse) GetResponses() []*BatchUpdateBlobsResponse_Response { 1792 if m != nil { 1793 return m.Responses 1794 } 1795 return nil 1796} 1797 1798// A response corresponding to a single blob that the client tried to upload. 1799type BatchUpdateBlobsResponse_Response struct { 1800 // The digest to which this response corresponds. 1801 BlobDigest *Digest `protobuf:"bytes,1,opt,name=blob_digest,json=blobDigest,proto3" json:"blob_digest,omitempty"` 1802 // The result of attempting to upload that blob. 1803 Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` 1804 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1805 XXX_unrecognized []byte `json:"-"` 1806 XXX_sizecache int32 `json:"-"` 1807} 1808 1809func (m *BatchUpdateBlobsResponse_Response) Reset() { *m = BatchUpdateBlobsResponse_Response{} } 1810func (m *BatchUpdateBlobsResponse_Response) String() string { return proto.CompactTextString(m) } 1811func (*BatchUpdateBlobsResponse_Response) ProtoMessage() {} 1812func (*BatchUpdateBlobsResponse_Response) Descriptor() ([]byte, []int) { 1813 return fileDescriptor_remote_execution_2379da344af471dd, []int{21, 0} 1814} 1815func (m *BatchUpdateBlobsResponse_Response) XXX_Unmarshal(b []byte) error { 1816 return xxx_messageInfo_BatchUpdateBlobsResponse_Response.Unmarshal(m, b) 1817} 1818func (m *BatchUpdateBlobsResponse_Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1819 return xxx_messageInfo_BatchUpdateBlobsResponse_Response.Marshal(b, m, deterministic) 1820} 1821func (dst *BatchUpdateBlobsResponse_Response) XXX_Merge(src proto.Message) { 1822 xxx_messageInfo_BatchUpdateBlobsResponse_Response.Merge(dst, src) 1823} 1824func (m *BatchUpdateBlobsResponse_Response) XXX_Size() int { 1825 return xxx_messageInfo_BatchUpdateBlobsResponse_Response.Size(m) 1826} 1827func (m *BatchUpdateBlobsResponse_Response) XXX_DiscardUnknown() { 1828 xxx_messageInfo_BatchUpdateBlobsResponse_Response.DiscardUnknown(m) 1829} 1830 1831var xxx_messageInfo_BatchUpdateBlobsResponse_Response proto.InternalMessageInfo 1832 1833func (m *BatchUpdateBlobsResponse_Response) GetBlobDigest() *Digest { 1834 if m != nil { 1835 return m.BlobDigest 1836 } 1837 return nil 1838} 1839 1840func (m *BatchUpdateBlobsResponse_Response) GetStatus() *status.Status { 1841 if m != nil { 1842 return m.Status 1843 } 1844 return nil 1845} 1846 1847// A request message for 1848// [ContentAddressableStorage.GetTree][google.devtools.remoteexecution.v1test.ContentAddressableStorage.GetTree]. 1849type GetTreeRequest struct { 1850 // The instance of the execution system to operate against. A server may 1851 // support multiple instances of the execution system (with their own workers, 1852 // storage, caches, etc.). The server MAY require use of this field to select 1853 // between them in an implementation-defined fashion, otherwise it can be 1854 // omitted. 1855 InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` 1856 // The digest of the root, which must be an encoded 1857 // [Directory][google.devtools.remoteexecution.v1test.Directory] message 1858 // stored in the 1859 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 1860 RootDigest *Digest `protobuf:"bytes,2,opt,name=root_digest,json=rootDigest,proto3" json:"root_digest,omitempty"` 1861 // A maximum page size to request. If present, the server will request no more 1862 // than this many items. Regardless of whether a page size is specified, the 1863 // server may place its own limit on the number of items to be returned and 1864 // require the client to retrieve more items using a subsequent request. 1865 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1866 // A page token, which must be a value received in a previous 1867 // [GetTreeResponse][google.devtools.remoteexecution.v1test.GetTreeResponse]. 1868 // If present, the server will use it to return the following page of results. 1869 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1870 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1871 XXX_unrecognized []byte `json:"-"` 1872 XXX_sizecache int32 `json:"-"` 1873} 1874 1875func (m *GetTreeRequest) Reset() { *m = GetTreeRequest{} } 1876func (m *GetTreeRequest) String() string { return proto.CompactTextString(m) } 1877func (*GetTreeRequest) ProtoMessage() {} 1878func (*GetTreeRequest) Descriptor() ([]byte, []int) { 1879 return fileDescriptor_remote_execution_2379da344af471dd, []int{22} 1880} 1881func (m *GetTreeRequest) XXX_Unmarshal(b []byte) error { 1882 return xxx_messageInfo_GetTreeRequest.Unmarshal(m, b) 1883} 1884func (m *GetTreeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1885 return xxx_messageInfo_GetTreeRequest.Marshal(b, m, deterministic) 1886} 1887func (dst *GetTreeRequest) XXX_Merge(src proto.Message) { 1888 xxx_messageInfo_GetTreeRequest.Merge(dst, src) 1889} 1890func (m *GetTreeRequest) XXX_Size() int { 1891 return xxx_messageInfo_GetTreeRequest.Size(m) 1892} 1893func (m *GetTreeRequest) XXX_DiscardUnknown() { 1894 xxx_messageInfo_GetTreeRequest.DiscardUnknown(m) 1895} 1896 1897var xxx_messageInfo_GetTreeRequest proto.InternalMessageInfo 1898 1899func (m *GetTreeRequest) GetInstanceName() string { 1900 if m != nil { 1901 return m.InstanceName 1902 } 1903 return "" 1904} 1905 1906func (m *GetTreeRequest) GetRootDigest() *Digest { 1907 if m != nil { 1908 return m.RootDigest 1909 } 1910 return nil 1911} 1912 1913func (m *GetTreeRequest) GetPageSize() int32 { 1914 if m != nil { 1915 return m.PageSize 1916 } 1917 return 0 1918} 1919 1920func (m *GetTreeRequest) GetPageToken() string { 1921 if m != nil { 1922 return m.PageToken 1923 } 1924 return "" 1925} 1926 1927// A response message for 1928// [ContentAddressableStorage.GetTree][google.devtools.remoteexecution.v1test.ContentAddressableStorage.GetTree]. 1929type GetTreeResponse struct { 1930 // The directories descended from the requested root. 1931 Directories []*Directory `protobuf:"bytes,1,rep,name=directories,proto3" json:"directories,omitempty"` 1932 // If present, signifies that there are more results which the client can 1933 // retrieve by passing this as the page_token in a subsequent 1934 // [request][google.devtools.remoteexecution.v1test.GetTreeRequest]. 1935 // If empty, signifies that this is the last page of results. 1936 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1937 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1938 XXX_unrecognized []byte `json:"-"` 1939 XXX_sizecache int32 `json:"-"` 1940} 1941 1942func (m *GetTreeResponse) Reset() { *m = GetTreeResponse{} } 1943func (m *GetTreeResponse) String() string { return proto.CompactTextString(m) } 1944func (*GetTreeResponse) ProtoMessage() {} 1945func (*GetTreeResponse) Descriptor() ([]byte, []int) { 1946 return fileDescriptor_remote_execution_2379da344af471dd, []int{23} 1947} 1948func (m *GetTreeResponse) XXX_Unmarshal(b []byte) error { 1949 return xxx_messageInfo_GetTreeResponse.Unmarshal(m, b) 1950} 1951func (m *GetTreeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1952 return xxx_messageInfo_GetTreeResponse.Marshal(b, m, deterministic) 1953} 1954func (dst *GetTreeResponse) XXX_Merge(src proto.Message) { 1955 xxx_messageInfo_GetTreeResponse.Merge(dst, src) 1956} 1957func (m *GetTreeResponse) XXX_Size() int { 1958 return xxx_messageInfo_GetTreeResponse.Size(m) 1959} 1960func (m *GetTreeResponse) XXX_DiscardUnknown() { 1961 xxx_messageInfo_GetTreeResponse.DiscardUnknown(m) 1962} 1963 1964var xxx_messageInfo_GetTreeResponse proto.InternalMessageInfo 1965 1966func (m *GetTreeResponse) GetDirectories() []*Directory { 1967 if m != nil { 1968 return m.Directories 1969 } 1970 return nil 1971} 1972 1973func (m *GetTreeResponse) GetNextPageToken() string { 1974 if m != nil { 1975 return m.NextPageToken 1976 } 1977 return "" 1978} 1979 1980// Details for the tool used to call the API. 1981type ToolDetails struct { 1982 // Name of the tool, e.g. bazel. 1983 ToolName string `protobuf:"bytes,1,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"` 1984 // Version of the tool used for the request, e.g. 5.0.3. 1985 ToolVersion string `protobuf:"bytes,2,opt,name=tool_version,json=toolVersion,proto3" json:"tool_version,omitempty"` 1986 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1987 XXX_unrecognized []byte `json:"-"` 1988 XXX_sizecache int32 `json:"-"` 1989} 1990 1991func (m *ToolDetails) Reset() { *m = ToolDetails{} } 1992func (m *ToolDetails) String() string { return proto.CompactTextString(m) } 1993func (*ToolDetails) ProtoMessage() {} 1994func (*ToolDetails) Descriptor() ([]byte, []int) { 1995 return fileDescriptor_remote_execution_2379da344af471dd, []int{24} 1996} 1997func (m *ToolDetails) XXX_Unmarshal(b []byte) error { 1998 return xxx_messageInfo_ToolDetails.Unmarshal(m, b) 1999} 2000func (m *ToolDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2001 return xxx_messageInfo_ToolDetails.Marshal(b, m, deterministic) 2002} 2003func (dst *ToolDetails) XXX_Merge(src proto.Message) { 2004 xxx_messageInfo_ToolDetails.Merge(dst, src) 2005} 2006func (m *ToolDetails) XXX_Size() int { 2007 return xxx_messageInfo_ToolDetails.Size(m) 2008} 2009func (m *ToolDetails) XXX_DiscardUnknown() { 2010 xxx_messageInfo_ToolDetails.DiscardUnknown(m) 2011} 2012 2013var xxx_messageInfo_ToolDetails proto.InternalMessageInfo 2014 2015func (m *ToolDetails) GetToolName() string { 2016 if m != nil { 2017 return m.ToolName 2018 } 2019 return "" 2020} 2021 2022func (m *ToolDetails) GetToolVersion() string { 2023 if m != nil { 2024 return m.ToolVersion 2025 } 2026 return "" 2027} 2028 2029// An optional Metadata to attach to any RPC request to tell the server about an 2030// external context of the request. The server may use this for logging or other 2031// purposes. To use it, the client attaches the header to the call using the 2032// canonical proto serialization: 2033// name: google.devtools.remoteexecution.v1test.requestmetadata-bin 2034// contents: the base64 encoded binary RequestMetadata message. 2035type RequestMetadata struct { 2036 // The details for the tool invoking the requests. 2037 ToolDetails *ToolDetails `protobuf:"bytes,1,opt,name=tool_details,json=toolDetails,proto3" json:"tool_details,omitempty"` 2038 // An identifier that ties multiple requests to the same action. 2039 // For example, multiple requests to the CAS, Action Cache, and Execution 2040 // API are used in order to compile foo.cc. 2041 ActionId string `protobuf:"bytes,2,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` 2042 // An identifier that ties multiple actions together to a final result. 2043 // For example, multiple actions are required to build and run foo_test. 2044 ToolInvocationId string `protobuf:"bytes,3,opt,name=tool_invocation_id,json=toolInvocationId,proto3" json:"tool_invocation_id,omitempty"` 2045 // An identifier to tie multiple tool invocations together. For example, 2046 // runs of foo_test, bar_test and baz_test on a post-submit of a given patch. 2047 CorrelatedInvocationsId string `protobuf:"bytes,4,opt,name=correlated_invocations_id,json=correlatedInvocationsId,proto3" json:"correlated_invocations_id,omitempty"` 2048 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2049 XXX_unrecognized []byte `json:"-"` 2050 XXX_sizecache int32 `json:"-"` 2051} 2052 2053func (m *RequestMetadata) Reset() { *m = RequestMetadata{} } 2054func (m *RequestMetadata) String() string { return proto.CompactTextString(m) } 2055func (*RequestMetadata) ProtoMessage() {} 2056func (*RequestMetadata) Descriptor() ([]byte, []int) { 2057 return fileDescriptor_remote_execution_2379da344af471dd, []int{25} 2058} 2059func (m *RequestMetadata) XXX_Unmarshal(b []byte) error { 2060 return xxx_messageInfo_RequestMetadata.Unmarshal(m, b) 2061} 2062func (m *RequestMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2063 return xxx_messageInfo_RequestMetadata.Marshal(b, m, deterministic) 2064} 2065func (dst *RequestMetadata) XXX_Merge(src proto.Message) { 2066 xxx_messageInfo_RequestMetadata.Merge(dst, src) 2067} 2068func (m *RequestMetadata) XXX_Size() int { 2069 return xxx_messageInfo_RequestMetadata.Size(m) 2070} 2071func (m *RequestMetadata) XXX_DiscardUnknown() { 2072 xxx_messageInfo_RequestMetadata.DiscardUnknown(m) 2073} 2074 2075var xxx_messageInfo_RequestMetadata proto.InternalMessageInfo 2076 2077func (m *RequestMetadata) GetToolDetails() *ToolDetails { 2078 if m != nil { 2079 return m.ToolDetails 2080 } 2081 return nil 2082} 2083 2084func (m *RequestMetadata) GetActionId() string { 2085 if m != nil { 2086 return m.ActionId 2087 } 2088 return "" 2089} 2090 2091func (m *RequestMetadata) GetToolInvocationId() string { 2092 if m != nil { 2093 return m.ToolInvocationId 2094 } 2095 return "" 2096} 2097 2098func (m *RequestMetadata) GetCorrelatedInvocationsId() string { 2099 if m != nil { 2100 return m.CorrelatedInvocationsId 2101 } 2102 return "" 2103} 2104 2105func init() { 2106 proto.RegisterType((*Action)(nil), "google.devtools.remoteexecution.v1test.Action") 2107 proto.RegisterType((*Command)(nil), "google.devtools.remoteexecution.v1test.Command") 2108 proto.RegisterType((*Command_EnvironmentVariable)(nil), "google.devtools.remoteexecution.v1test.Command.EnvironmentVariable") 2109 proto.RegisterType((*Platform)(nil), "google.devtools.remoteexecution.v1test.Platform") 2110 proto.RegisterType((*Platform_Property)(nil), "google.devtools.remoteexecution.v1test.Platform.Property") 2111 proto.RegisterType((*Directory)(nil), "google.devtools.remoteexecution.v1test.Directory") 2112 proto.RegisterType((*FileNode)(nil), "google.devtools.remoteexecution.v1test.FileNode") 2113 proto.RegisterType((*DirectoryNode)(nil), "google.devtools.remoteexecution.v1test.DirectoryNode") 2114 proto.RegisterType((*Digest)(nil), "google.devtools.remoteexecution.v1test.Digest") 2115 proto.RegisterType((*ActionResult)(nil), "google.devtools.remoteexecution.v1test.ActionResult") 2116 proto.RegisterType((*OutputFile)(nil), "google.devtools.remoteexecution.v1test.OutputFile") 2117 proto.RegisterType((*Tree)(nil), "google.devtools.remoteexecution.v1test.Tree") 2118 proto.RegisterType((*OutputDirectory)(nil), "google.devtools.remoteexecution.v1test.OutputDirectory") 2119 proto.RegisterType((*ExecuteRequest)(nil), "google.devtools.remoteexecution.v1test.ExecuteRequest") 2120 proto.RegisterType((*LogFile)(nil), "google.devtools.remoteexecution.v1test.LogFile") 2121 proto.RegisterType((*ExecuteResponse)(nil), "google.devtools.remoteexecution.v1test.ExecuteResponse") 2122 proto.RegisterMapType((map[string]*LogFile)(nil), "google.devtools.remoteexecution.v1test.ExecuteResponse.ServerLogsEntry") 2123 proto.RegisterType((*ExecuteOperationMetadata)(nil), "google.devtools.remoteexecution.v1test.ExecuteOperationMetadata") 2124 proto.RegisterType((*GetActionResultRequest)(nil), "google.devtools.remoteexecution.v1test.GetActionResultRequest") 2125 proto.RegisterType((*UpdateActionResultRequest)(nil), "google.devtools.remoteexecution.v1test.UpdateActionResultRequest") 2126 proto.RegisterType((*FindMissingBlobsRequest)(nil), "google.devtools.remoteexecution.v1test.FindMissingBlobsRequest") 2127 proto.RegisterType((*FindMissingBlobsResponse)(nil), "google.devtools.remoteexecution.v1test.FindMissingBlobsResponse") 2128 proto.RegisterType((*UpdateBlobRequest)(nil), "google.devtools.remoteexecution.v1test.UpdateBlobRequest") 2129 proto.RegisterType((*BatchUpdateBlobsRequest)(nil), "google.devtools.remoteexecution.v1test.BatchUpdateBlobsRequest") 2130 proto.RegisterType((*BatchUpdateBlobsResponse)(nil), "google.devtools.remoteexecution.v1test.BatchUpdateBlobsResponse") 2131 proto.RegisterType((*BatchUpdateBlobsResponse_Response)(nil), "google.devtools.remoteexecution.v1test.BatchUpdateBlobsResponse.Response") 2132 proto.RegisterType((*GetTreeRequest)(nil), "google.devtools.remoteexecution.v1test.GetTreeRequest") 2133 proto.RegisterType((*GetTreeResponse)(nil), "google.devtools.remoteexecution.v1test.GetTreeResponse") 2134 proto.RegisterType((*ToolDetails)(nil), "google.devtools.remoteexecution.v1test.ToolDetails") 2135 proto.RegisterType((*RequestMetadata)(nil), "google.devtools.remoteexecution.v1test.RequestMetadata") 2136 proto.RegisterEnum("google.devtools.remoteexecution.v1test.ExecuteOperationMetadata_Stage", ExecuteOperationMetadata_Stage_name, ExecuteOperationMetadata_Stage_value) 2137} 2138 2139// Reference imports to suppress errors if they are not otherwise used. 2140var _ context.Context 2141var _ grpc.ClientConn 2142 2143// This is a compile-time assertion to ensure that this generated file 2144// is compatible with the grpc package it is being compiled against. 2145const _ = grpc.SupportPackageIsVersion4 2146 2147// ExecutionClient is the client API for Execution service. 2148// 2149// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2150type ExecutionClient interface { 2151 // Execute an action remotely. 2152 // 2153 // In order to execute an action, the client must first upload all of the 2154 // inputs, as well as the 2155 // [Command][google.devtools.remoteexecution.v1test.Command] to run, into the 2156 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 2157 // It then calls `Execute` with an 2158 // [Action][google.devtools.remoteexecution.v1test.Action] referring to them. 2159 // The server will run the action and eventually return the result. 2160 // 2161 // The input `Action`'s fields MUST meet the various canonicalization 2162 // requirements specified in the documentation for their types so that it has 2163 // the same digest as other logically equivalent `Action`s. The server MAY 2164 // enforce the requirements and return errors if a non-canonical input is 2165 // received. It MAY also proceed without verifying some or all of the 2166 // requirements, such as for performance reasons. If the server does not 2167 // verify the requirement, then it will treat the `Action` as distinct from 2168 // another logically equivalent action if they hash differently. 2169 // 2170 // Returns a [google.longrunning.Operation][google.longrunning.Operation] 2171 // describing the resulting execution, with eventual `response` 2172 // [ExecuteResponse][google.devtools.remoteexecution.v1test.ExecuteResponse]. 2173 // The `metadata` on the operation is of type 2174 // [ExecuteOperationMetadata][google.devtools.remoteexecution.v1test.ExecuteOperationMetadata]. 2175 // 2176 // To query the operation, you can use the 2177 // [Operations API][google.longrunning.Operations.GetOperation]. If you wish 2178 // to allow the server to stream operations updates, rather than requiring 2179 // client polling, you can use the 2180 // [Watcher API][google.watcher.v1.Watcher.Watch] with the Operation's `name` 2181 // as the `target`. 2182 // 2183 // When using the Watcher API, the initial `data` will be the `Operation` at 2184 // the time of the request. Updates will be provided periodically by the 2185 // server until the `Operation` completes, at which point the response message 2186 // will (assuming no error) be at `data.response`. 2187 // 2188 // The server NEED NOT implement other methods or functionality of the 2189 // Operation and Watcher APIs. 2190 // 2191 // Errors discovered during creation of the `Operation` will be reported 2192 // as gRPC Status errors, while errors that occurred while running the 2193 // action will be reported in the `status` field of the `ExecuteResponse`. The 2194 // server MUST NOT set the `error` field of the `Operation` proto. 2195 // The possible errors include: 2196 // * `INVALID_ARGUMENT`: One or more arguments are invalid. 2197 // * `FAILED_PRECONDITION`: One or more errors occurred in setting up the 2198 // action requested, such as a missing input or command or no worker being 2199 // available. The client may be able to fix the errors and retry. 2200 // * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run 2201 // the action. 2202 // * `UNAVAILABLE`: Due to a transient condition, such as all workers being 2203 // occupied (and the server does not support a queue), the action could not 2204 // be started. The client should retry. 2205 // * `INTERNAL`: An internal error occurred in the execution engine or the 2206 // worker. 2207 // * `DEADLINE_EXCEEDED`: The execution timed out. 2208 // 2209 // In the case of a missing input or command, the server SHOULD additionally 2210 // send a [PreconditionFailure][google.rpc.PreconditionFailure] error detail 2211 // where, for each requested blob not present in the CAS, there is a 2212 // `Violation` with a `type` of `MISSING` and a `subject` of 2213 // `"blobs/{hash}/{size}"` indicating the digest of the missing blob. 2214 Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2215} 2216 2217type executionClient struct { 2218 cc *grpc.ClientConn 2219} 2220 2221func NewExecutionClient(cc *grpc.ClientConn) ExecutionClient { 2222 return &executionClient{cc} 2223} 2224 2225func (c *executionClient) Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2226 out := new(longrunning.Operation) 2227 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.Execution/Execute", in, out, opts...) 2228 if err != nil { 2229 return nil, err 2230 } 2231 return out, nil 2232} 2233 2234// ExecutionServer is the server API for Execution service. 2235type ExecutionServer interface { 2236 // Execute an action remotely. 2237 // 2238 // In order to execute an action, the client must first upload all of the 2239 // inputs, as well as the 2240 // [Command][google.devtools.remoteexecution.v1test.Command] to run, into the 2241 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage]. 2242 // It then calls `Execute` with an 2243 // [Action][google.devtools.remoteexecution.v1test.Action] referring to them. 2244 // The server will run the action and eventually return the result. 2245 // 2246 // The input `Action`'s fields MUST meet the various canonicalization 2247 // requirements specified in the documentation for their types so that it has 2248 // the same digest as other logically equivalent `Action`s. The server MAY 2249 // enforce the requirements and return errors if a non-canonical input is 2250 // received. It MAY also proceed without verifying some or all of the 2251 // requirements, such as for performance reasons. If the server does not 2252 // verify the requirement, then it will treat the `Action` as distinct from 2253 // another logically equivalent action if they hash differently. 2254 // 2255 // Returns a [google.longrunning.Operation][google.longrunning.Operation] 2256 // describing the resulting execution, with eventual `response` 2257 // [ExecuteResponse][google.devtools.remoteexecution.v1test.ExecuteResponse]. 2258 // The `metadata` on the operation is of type 2259 // [ExecuteOperationMetadata][google.devtools.remoteexecution.v1test.ExecuteOperationMetadata]. 2260 // 2261 // To query the operation, you can use the 2262 // [Operations API][google.longrunning.Operations.GetOperation]. If you wish 2263 // to allow the server to stream operations updates, rather than requiring 2264 // client polling, you can use the 2265 // [Watcher API][google.watcher.v1.Watcher.Watch] with the Operation's `name` 2266 // as the `target`. 2267 // 2268 // When using the Watcher API, the initial `data` will be the `Operation` at 2269 // the time of the request. Updates will be provided periodically by the 2270 // server until the `Operation` completes, at which point the response message 2271 // will (assuming no error) be at `data.response`. 2272 // 2273 // The server NEED NOT implement other methods or functionality of the 2274 // Operation and Watcher APIs. 2275 // 2276 // Errors discovered during creation of the `Operation` will be reported 2277 // as gRPC Status errors, while errors that occurred while running the 2278 // action will be reported in the `status` field of the `ExecuteResponse`. The 2279 // server MUST NOT set the `error` field of the `Operation` proto. 2280 // The possible errors include: 2281 // * `INVALID_ARGUMENT`: One or more arguments are invalid. 2282 // * `FAILED_PRECONDITION`: One or more errors occurred in setting up the 2283 // action requested, such as a missing input or command or no worker being 2284 // available. The client may be able to fix the errors and retry. 2285 // * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run 2286 // the action. 2287 // * `UNAVAILABLE`: Due to a transient condition, such as all workers being 2288 // occupied (and the server does not support a queue), the action could not 2289 // be started. The client should retry. 2290 // * `INTERNAL`: An internal error occurred in the execution engine or the 2291 // worker. 2292 // * `DEADLINE_EXCEEDED`: The execution timed out. 2293 // 2294 // In the case of a missing input or command, the server SHOULD additionally 2295 // send a [PreconditionFailure][google.rpc.PreconditionFailure] error detail 2296 // where, for each requested blob not present in the CAS, there is a 2297 // `Violation` with a `type` of `MISSING` and a `subject` of 2298 // `"blobs/{hash}/{size}"` indicating the digest of the missing blob. 2299 Execute(context.Context, *ExecuteRequest) (*longrunning.Operation, error) 2300} 2301 2302func RegisterExecutionServer(s *grpc.Server, srv ExecutionServer) { 2303 s.RegisterService(&_Execution_serviceDesc, srv) 2304} 2305 2306func _Execution_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2307 in := new(ExecuteRequest) 2308 if err := dec(in); err != nil { 2309 return nil, err 2310 } 2311 if interceptor == nil { 2312 return srv.(ExecutionServer).Execute(ctx, in) 2313 } 2314 info := &grpc.UnaryServerInfo{ 2315 Server: srv, 2316 FullMethod: "/google.devtools.remoteexecution.v1test.Execution/Execute", 2317 } 2318 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2319 return srv.(ExecutionServer).Execute(ctx, req.(*ExecuteRequest)) 2320 } 2321 return interceptor(ctx, in, info, handler) 2322} 2323 2324var _Execution_serviceDesc = grpc.ServiceDesc{ 2325 ServiceName: "google.devtools.remoteexecution.v1test.Execution", 2326 HandlerType: (*ExecutionServer)(nil), 2327 Methods: []grpc.MethodDesc{ 2328 { 2329 MethodName: "Execute", 2330 Handler: _Execution_Execute_Handler, 2331 }, 2332 }, 2333 Streams: []grpc.StreamDesc{}, 2334 Metadata: "google/devtools/remoteexecution/v1test/remote_execution.proto", 2335} 2336 2337// ActionCacheClient is the client API for ActionCache service. 2338// 2339// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2340type ActionCacheClient interface { 2341 // Retrieve a cached execution result. 2342 // 2343 // Errors: 2344 // * `NOT_FOUND`: The requested `ActionResult` is not in the cache. 2345 GetActionResult(ctx context.Context, in *GetActionResultRequest, opts ...grpc.CallOption) (*ActionResult, error) 2346 // Upload a new execution result. 2347 // 2348 // This method is intended for servers which implement the distributed cache 2349 // independently of the 2350 // [Execution][google.devtools.remoteexecution.v1test.Execution] API. As a 2351 // result, it is OPTIONAL for servers to implement. 2352 // 2353 // Errors: 2354 // * `NOT_IMPLEMENTED`: This method is not supported by the server. 2355 // * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the 2356 // entry to the cache. 2357 UpdateActionResult(ctx context.Context, in *UpdateActionResultRequest, opts ...grpc.CallOption) (*ActionResult, error) 2358} 2359 2360type actionCacheClient struct { 2361 cc *grpc.ClientConn 2362} 2363 2364func NewActionCacheClient(cc *grpc.ClientConn) ActionCacheClient { 2365 return &actionCacheClient{cc} 2366} 2367 2368func (c *actionCacheClient) GetActionResult(ctx context.Context, in *GetActionResultRequest, opts ...grpc.CallOption) (*ActionResult, error) { 2369 out := new(ActionResult) 2370 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ActionCache/GetActionResult", in, out, opts...) 2371 if err != nil { 2372 return nil, err 2373 } 2374 return out, nil 2375} 2376 2377func (c *actionCacheClient) UpdateActionResult(ctx context.Context, in *UpdateActionResultRequest, opts ...grpc.CallOption) (*ActionResult, error) { 2378 out := new(ActionResult) 2379 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ActionCache/UpdateActionResult", in, out, opts...) 2380 if err != nil { 2381 return nil, err 2382 } 2383 return out, nil 2384} 2385 2386// ActionCacheServer is the server API for ActionCache service. 2387type ActionCacheServer interface { 2388 // Retrieve a cached execution result. 2389 // 2390 // Errors: 2391 // * `NOT_FOUND`: The requested `ActionResult` is not in the cache. 2392 GetActionResult(context.Context, *GetActionResultRequest) (*ActionResult, error) 2393 // Upload a new execution result. 2394 // 2395 // This method is intended for servers which implement the distributed cache 2396 // independently of the 2397 // [Execution][google.devtools.remoteexecution.v1test.Execution] API. As a 2398 // result, it is OPTIONAL for servers to implement. 2399 // 2400 // Errors: 2401 // * `NOT_IMPLEMENTED`: This method is not supported by the server. 2402 // * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the 2403 // entry to the cache. 2404 UpdateActionResult(context.Context, *UpdateActionResultRequest) (*ActionResult, error) 2405} 2406 2407func RegisterActionCacheServer(s *grpc.Server, srv ActionCacheServer) { 2408 s.RegisterService(&_ActionCache_serviceDesc, srv) 2409} 2410 2411func _ActionCache_GetActionResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2412 in := new(GetActionResultRequest) 2413 if err := dec(in); err != nil { 2414 return nil, err 2415 } 2416 if interceptor == nil { 2417 return srv.(ActionCacheServer).GetActionResult(ctx, in) 2418 } 2419 info := &grpc.UnaryServerInfo{ 2420 Server: srv, 2421 FullMethod: "/google.devtools.remoteexecution.v1test.ActionCache/GetActionResult", 2422 } 2423 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2424 return srv.(ActionCacheServer).GetActionResult(ctx, req.(*GetActionResultRequest)) 2425 } 2426 return interceptor(ctx, in, info, handler) 2427} 2428 2429func _ActionCache_UpdateActionResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2430 in := new(UpdateActionResultRequest) 2431 if err := dec(in); err != nil { 2432 return nil, err 2433 } 2434 if interceptor == nil { 2435 return srv.(ActionCacheServer).UpdateActionResult(ctx, in) 2436 } 2437 info := &grpc.UnaryServerInfo{ 2438 Server: srv, 2439 FullMethod: "/google.devtools.remoteexecution.v1test.ActionCache/UpdateActionResult", 2440 } 2441 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2442 return srv.(ActionCacheServer).UpdateActionResult(ctx, req.(*UpdateActionResultRequest)) 2443 } 2444 return interceptor(ctx, in, info, handler) 2445} 2446 2447var _ActionCache_serviceDesc = grpc.ServiceDesc{ 2448 ServiceName: "google.devtools.remoteexecution.v1test.ActionCache", 2449 HandlerType: (*ActionCacheServer)(nil), 2450 Methods: []grpc.MethodDesc{ 2451 { 2452 MethodName: "GetActionResult", 2453 Handler: _ActionCache_GetActionResult_Handler, 2454 }, 2455 { 2456 MethodName: "UpdateActionResult", 2457 Handler: _ActionCache_UpdateActionResult_Handler, 2458 }, 2459 }, 2460 Streams: []grpc.StreamDesc{}, 2461 Metadata: "google/devtools/remoteexecution/v1test/remote_execution.proto", 2462} 2463 2464// ContentAddressableStorageClient is the client API for ContentAddressableStorage service. 2465// 2466// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2467type ContentAddressableStorageClient interface { 2468 // Determine if blobs are present in the CAS. 2469 // 2470 // Clients can use this API before uploading blobs to determine which ones are 2471 // already present in the CAS and do not need to be uploaded again. 2472 // 2473 // There are no method-specific errors. 2474 FindMissingBlobs(ctx context.Context, in *FindMissingBlobsRequest, opts ...grpc.CallOption) (*FindMissingBlobsResponse, error) 2475 // Upload many blobs at once. 2476 // 2477 // The client MUST NOT upload blobs with a combined total size of more than 10 2478 // MiB using this API. Such requests should either be split into smaller 2479 // chunks or uploaded using the 2480 // [ByteStream API][google.bytestream.ByteStream], as appropriate. 2481 // 2482 // This request is equivalent to calling [UpdateBlob][] on each individual 2483 // blob, in parallel. The requests may succeed or fail independently. 2484 // 2485 // Errors: 2486 // * `INVALID_ARGUMENT`: The client attempted to upload more than 10 MiB of 2487 // data. 2488 // 2489 // Individual requests may return the following errors, additionally: 2490 // * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob. 2491 // * `INVALID_ARGUMENT`: The 2492 // [Digest][google.devtools.remoteexecution.v1test.Digest] does not match the 2493 // provided data. 2494 BatchUpdateBlobs(ctx context.Context, in *BatchUpdateBlobsRequest, opts ...grpc.CallOption) (*BatchUpdateBlobsResponse, error) 2495 // Fetch the entire directory tree rooted at a node. 2496 // 2497 // This request must be targeted at a 2498 // [Directory][google.devtools.remoteexecution.v1test.Directory] stored in the 2499 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage] 2500 // (CAS). The server will enumerate the `Directory` tree recursively and 2501 // return every node descended from the root. 2502 // The exact traversal order is unspecified and, unless retrieving subsequent 2503 // pages from an earlier request, is not guaranteed to be stable across 2504 // multiple invocations of `GetTree`. 2505 // 2506 // If part of the tree is missing from the CAS, the server will return the 2507 // portion present and omit the rest. 2508 // 2509 // * `NOT_FOUND`: The requested tree root is not present in the CAS. 2510 GetTree(ctx context.Context, in *GetTreeRequest, opts ...grpc.CallOption) (*GetTreeResponse, error) 2511} 2512 2513type contentAddressableStorageClient struct { 2514 cc *grpc.ClientConn 2515} 2516 2517func NewContentAddressableStorageClient(cc *grpc.ClientConn) ContentAddressableStorageClient { 2518 return &contentAddressableStorageClient{cc} 2519} 2520 2521func (c *contentAddressableStorageClient) FindMissingBlobs(ctx context.Context, in *FindMissingBlobsRequest, opts ...grpc.CallOption) (*FindMissingBlobsResponse, error) { 2522 out := new(FindMissingBlobsResponse) 2523 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/FindMissingBlobs", in, out, opts...) 2524 if err != nil { 2525 return nil, err 2526 } 2527 return out, nil 2528} 2529 2530func (c *contentAddressableStorageClient) BatchUpdateBlobs(ctx context.Context, in *BatchUpdateBlobsRequest, opts ...grpc.CallOption) (*BatchUpdateBlobsResponse, error) { 2531 out := new(BatchUpdateBlobsResponse) 2532 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/BatchUpdateBlobs", in, out, opts...) 2533 if err != nil { 2534 return nil, err 2535 } 2536 return out, nil 2537} 2538 2539func (c *contentAddressableStorageClient) GetTree(ctx context.Context, in *GetTreeRequest, opts ...grpc.CallOption) (*GetTreeResponse, error) { 2540 out := new(GetTreeResponse) 2541 err := c.cc.Invoke(ctx, "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/GetTree", in, out, opts...) 2542 if err != nil { 2543 return nil, err 2544 } 2545 return out, nil 2546} 2547 2548// ContentAddressableStorageServer is the server API for ContentAddressableStorage service. 2549type ContentAddressableStorageServer interface { 2550 // Determine if blobs are present in the CAS. 2551 // 2552 // Clients can use this API before uploading blobs to determine which ones are 2553 // already present in the CAS and do not need to be uploaded again. 2554 // 2555 // There are no method-specific errors. 2556 FindMissingBlobs(context.Context, *FindMissingBlobsRequest) (*FindMissingBlobsResponse, error) 2557 // Upload many blobs at once. 2558 // 2559 // The client MUST NOT upload blobs with a combined total size of more than 10 2560 // MiB using this API. Such requests should either be split into smaller 2561 // chunks or uploaded using the 2562 // [ByteStream API][google.bytestream.ByteStream], as appropriate. 2563 // 2564 // This request is equivalent to calling [UpdateBlob][] on each individual 2565 // blob, in parallel. The requests may succeed or fail independently. 2566 // 2567 // Errors: 2568 // * `INVALID_ARGUMENT`: The client attempted to upload more than 10 MiB of 2569 // data. 2570 // 2571 // Individual requests may return the following errors, additionally: 2572 // * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob. 2573 // * `INVALID_ARGUMENT`: The 2574 // [Digest][google.devtools.remoteexecution.v1test.Digest] does not match the 2575 // provided data. 2576 BatchUpdateBlobs(context.Context, *BatchUpdateBlobsRequest) (*BatchUpdateBlobsResponse, error) 2577 // Fetch the entire directory tree rooted at a node. 2578 // 2579 // This request must be targeted at a 2580 // [Directory][google.devtools.remoteexecution.v1test.Directory] stored in the 2581 // [ContentAddressableStorage][google.devtools.remoteexecution.v1test.ContentAddressableStorage] 2582 // (CAS). The server will enumerate the `Directory` tree recursively and 2583 // return every node descended from the root. 2584 // The exact traversal order is unspecified and, unless retrieving subsequent 2585 // pages from an earlier request, is not guaranteed to be stable across 2586 // multiple invocations of `GetTree`. 2587 // 2588 // If part of the tree is missing from the CAS, the server will return the 2589 // portion present and omit the rest. 2590 // 2591 // * `NOT_FOUND`: The requested tree root is not present in the CAS. 2592 GetTree(context.Context, *GetTreeRequest) (*GetTreeResponse, error) 2593} 2594 2595func RegisterContentAddressableStorageServer(s *grpc.Server, srv ContentAddressableStorageServer) { 2596 s.RegisterService(&_ContentAddressableStorage_serviceDesc, srv) 2597} 2598 2599func _ContentAddressableStorage_FindMissingBlobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2600 in := new(FindMissingBlobsRequest) 2601 if err := dec(in); err != nil { 2602 return nil, err 2603 } 2604 if interceptor == nil { 2605 return srv.(ContentAddressableStorageServer).FindMissingBlobs(ctx, in) 2606 } 2607 info := &grpc.UnaryServerInfo{ 2608 Server: srv, 2609 FullMethod: "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/FindMissingBlobs", 2610 } 2611 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2612 return srv.(ContentAddressableStorageServer).FindMissingBlobs(ctx, req.(*FindMissingBlobsRequest)) 2613 } 2614 return interceptor(ctx, in, info, handler) 2615} 2616 2617func _ContentAddressableStorage_BatchUpdateBlobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2618 in := new(BatchUpdateBlobsRequest) 2619 if err := dec(in); err != nil { 2620 return nil, err 2621 } 2622 if interceptor == nil { 2623 return srv.(ContentAddressableStorageServer).BatchUpdateBlobs(ctx, in) 2624 } 2625 info := &grpc.UnaryServerInfo{ 2626 Server: srv, 2627 FullMethod: "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/BatchUpdateBlobs", 2628 } 2629 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2630 return srv.(ContentAddressableStorageServer).BatchUpdateBlobs(ctx, req.(*BatchUpdateBlobsRequest)) 2631 } 2632 return interceptor(ctx, in, info, handler) 2633} 2634 2635func _ContentAddressableStorage_GetTree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2636 in := new(GetTreeRequest) 2637 if err := dec(in); err != nil { 2638 return nil, err 2639 } 2640 if interceptor == nil { 2641 return srv.(ContentAddressableStorageServer).GetTree(ctx, in) 2642 } 2643 info := &grpc.UnaryServerInfo{ 2644 Server: srv, 2645 FullMethod: "/google.devtools.remoteexecution.v1test.ContentAddressableStorage/GetTree", 2646 } 2647 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2648 return srv.(ContentAddressableStorageServer).GetTree(ctx, req.(*GetTreeRequest)) 2649 } 2650 return interceptor(ctx, in, info, handler) 2651} 2652 2653var _ContentAddressableStorage_serviceDesc = grpc.ServiceDesc{ 2654 ServiceName: "google.devtools.remoteexecution.v1test.ContentAddressableStorage", 2655 HandlerType: (*ContentAddressableStorageServer)(nil), 2656 Methods: []grpc.MethodDesc{ 2657 { 2658 MethodName: "FindMissingBlobs", 2659 Handler: _ContentAddressableStorage_FindMissingBlobs_Handler, 2660 }, 2661 { 2662 MethodName: "BatchUpdateBlobs", 2663 Handler: _ContentAddressableStorage_BatchUpdateBlobs_Handler, 2664 }, 2665 { 2666 MethodName: "GetTree", 2667 Handler: _ContentAddressableStorage_GetTree_Handler, 2668 }, 2669 }, 2670 Streams: []grpc.StreamDesc{}, 2671 Metadata: "google/devtools/remoteexecution/v1test/remote_execution.proto", 2672} 2673 2674func init() { 2675 proto.RegisterFile("google/devtools/remoteexecution/v1test/remote_execution.proto", fileDescriptor_remote_execution_2379da344af471dd) 2676} 2677 2678var fileDescriptor_remote_execution_2379da344af471dd = []byte{ 2679 // 2025 bytes of a gzipped FileDescriptorProto 2680 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xdd, 0x6f, 0x23, 0x57, 2681 0x15, 0x67, 0xec, 0x24, 0xb6, 0x8f, 0x9d, 0x75, 0xf6, 0x76, 0xe9, 0x7a, 0xdd, 0x2e, 0x4a, 0xa7, 2682 0xa2, 0x8a, 0xa2, 0x62, 0xb3, 0xde, 0x96, 0x85, 0x54, 0xa5, 0x6c, 0x1c, 0x27, 0x8d, 0x9a, 0xaf, 2683 0x4e, 0xe2, 0x74, 0xbb, 0xaa, 0x34, 0x9d, 0x78, 0x6e, 0xc6, 0xa3, 0xd8, 0x73, 0xcd, 0xbd, 0xd7, 2684 0x69, 0xd2, 0x65, 0x79, 0xe0, 0x05, 0x09, 0x04, 0x12, 0x54, 0x08, 0x24, 0x78, 0x42, 0x42, 0x48, 2685 0x88, 0x27, 0xfe, 0x00, 0x24, 0xf8, 0x03, 0x78, 0x80, 0x17, 0x9e, 0x11, 0x2f, 0xbc, 0xf1, 0xdc, 2686 0x07, 0x84, 0xee, 0xc7, 0x7c, 0xd8, 0xc9, 0xb2, 0x63, 0x67, 0x57, 0xe2, 0xcd, 0x73, 0xce, 0x3d, 2687 0xbf, 0xf3, 0x79, 0xcf, 0x39, 0x33, 0x86, 0xb7, 0x3d, 0x42, 0xbc, 0x1e, 0xae, 0xbb, 0xf8, 0x94, 2688 0x13, 0xd2, 0x63, 0x75, 0x8a, 0xfb, 0x84, 0x63, 0x7c, 0x86, 0x3b, 0x43, 0xee, 0x93, 0xa0, 0x7e, 2689 0x7a, 0x87, 0x63, 0xc6, 0x35, 0xd9, 0x8e, 0xe8, 0xb5, 0x01, 0x25, 0x9c, 0xa0, 0xd7, 0x94, 0x78, 2690 0x2d, 0x14, 0xaf, 0x8d, 0x89, 0xd7, 0x94, 0x78, 0xf5, 0x65, 0xad, 0xc6, 0x19, 0xf8, 0x75, 0x27, 2691 0x08, 0x08, 0x77, 0x04, 0x97, 0x29, 0x94, 0xea, 0xab, 0x9a, 0xdb, 0x23, 0x81, 0x47, 0x87, 0x41, 2692 0xe0, 0x07, 0x5e, 0x9d, 0x0c, 0x30, 0x1d, 0x39, 0xf4, 0x25, 0x7d, 0x48, 0x3e, 0x1d, 0x0d, 0x8f, 2693 0xeb, 0xee, 0x50, 0x1d, 0xd0, 0xfc, 0x9b, 0x9a, 0x4f, 0x07, 0x9d, 0x3a, 0xe3, 0x0e, 0x1f, 0x6a, 2694 0x41, 0xf3, 0x0f, 0x59, 0x98, 0xbb, 0xdf, 0x11, 0x27, 0x51, 0x1b, 0xae, 0x75, 0x48, 0xbf, 0xef, 2695 0x04, 0xae, 0xed, 0xfa, 0x1e, 0x66, 0xbc, 0x62, 0x2c, 0x1a, 0x4b, 0xc5, 0x46, 0xad, 0x96, 0xce, 2696 0x8f, 0xda, 0x9a, 0x94, 0xb2, 0xe6, 0x35, 0x8a, 0x7a, 0x44, 0x0f, 0xe1, 0xba, 0x1f, 0x0c, 0x86, 2697 0xdc, 0xa6, 0x84, 0xf0, 0x10, 0x39, 0x33, 0x15, 0x72, 0x59, 0x02, 0x59, 0x84, 0x70, 0x8d, 0xfd, 2698 0x0a, 0x94, 0xc8, 0x90, 0x0b, 0xf0, 0x63, 0xbf, 0x87, 0x59, 0x25, 0xbb, 0x98, 0x5d, 0x2a, 0x58, 2699 0x45, 0x45, 0x5b, 0x17, 0x24, 0xf4, 0x15, 0x40, 0xfa, 0x88, 0xeb, 0x53, 0xdc, 0xe1, 0x84, 0xfa, 2700 0x98, 0x55, 0x66, 0xe4, 0xc1, 0xeb, 0x8a, 0xb3, 0x16, 0x33, 0xd0, 0x16, 0xe4, 0x07, 0x3d, 0x87, 2701 0x1f, 0x13, 0xda, 0xaf, 0xcc, 0x4a, 0x23, 0xbf, 0x9a, 0xd6, 0xc8, 0x3d, 0x2d, 0x67, 0x45, 0x08, 2702 0xe8, 0x2e, 0xe4, 0xb8, 0xdf, 0xc7, 0x64, 0xc8, 0x2b, 0x73, 0x12, 0xec, 0x56, 0x08, 0x16, 0x26, 2703 0xaa, 0xb6, 0xa6, 0x13, 0x65, 0x85, 0x27, 0xd1, 0x22, 0x94, 0x5c, 0x62, 0x07, 0x84, 0xdb, 0x1d, 2704 0xa7, 0xd3, 0xc5, 0x95, 0xdc, 0xa2, 0xb1, 0x94, 0xb7, 0xc0, 0x25, 0x3b, 0x84, 0x37, 0x05, 0xc5, 2705 0xfc, 0x87, 0x01, 0xb9, 0xa6, 0x0a, 0x32, 0x7a, 0x19, 0x0a, 0x0e, 0xf5, 0x86, 0x7d, 0x1c, 0x70, 2706 0x56, 0x31, 0xa4, 0x5b, 0x31, 0x01, 0x9d, 0xc1, 0x17, 0x71, 0x70, 0xea, 0x53, 0x12, 0x88, 0x67, 2707 0xfb, 0xd4, 0xa1, 0xbe, 0x73, 0x24, 0x22, 0x95, 0x59, 0xcc, 0x2e, 0x15, 0x1b, 0xcd, 0xb4, 0xbe, 2708 0x69, 0x6d, 0xb5, 0x56, 0x0c, 0x76, 0xa8, 0xb1, 0xac, 0x1b, 0xf8, 0x22, 0x91, 0x55, 0xdf, 0x81, 2709 0x17, 0x2e, 0x39, 0x8c, 0x10, 0xcc, 0x04, 0x4e, 0x1f, 0xcb, 0xd2, 0x2a, 0x58, 0xf2, 0x37, 0xba, 2710 0x01, 0xb3, 0xa7, 0x4e, 0x6f, 0x88, 0x65, 0x55, 0x14, 0x2c, 0xf5, 0x60, 0xfe, 0xd2, 0x80, 0x7c, 2711 0x18, 0x52, 0xf4, 0x21, 0xc0, 0x80, 0x8a, 0xaa, 0xe7, 0x22, 0x7b, 0x86, 0x34, 0xfe, 0x1b, 0x93, 2712 0x26, 0xa6, 0xb6, 0xa7, 0x20, 0xce, 0xad, 0x04, 0x58, 0xf5, 0x0d, 0xc8, 0x87, 0xf4, 0x09, 0xac, 2713 0xfb, 0xbd, 0x01, 0x85, 0xb0, 0x6e, 0xce, 0xd1, 0x3a, 0xcc, 0xaa, 0x02, 0x54, 0x96, 0xa5, 0x2e, 2714 0x19, 0x51, 0xa2, 0x3b, 0xc4, 0xc5, 0x96, 0x12, 0x47, 0x1f, 0x40, 0x31, 0x59, 0xa5, 0x2a, 0x49, 2715 0x6f, 0xa6, 0xbf, 0x25, 0xda, 0x1e, 0x09, 0x99, 0x44, 0x32, 0x7f, 0x68, 0x40, 0x3e, 0x54, 0x76, 2716 0xa9, 0x97, 0xeb, 0x30, 0x77, 0xa5, 0xab, 0xa9, 0xa5, 0xd1, 0xab, 0x30, 0xef, 0x33, 0xdd, 0x09, 2717 0x45, 0xc2, 0x2b, 0x33, 0xb2, 0x7a, 0x4b, 0x3e, 0x6b, 0x45, 0x34, 0xf3, 0x04, 0xe6, 0x47, 0x6c, 2718 0x7d, 0x9e, 0x16, 0x99, 0x6f, 0xc1, 0x9c, 0xee, 0x16, 0x08, 0x66, 0xba, 0x0e, 0xeb, 0x86, 0x5a, 2719 0xc4, 0x6f, 0x74, 0x1b, 0x80, 0xf9, 0x9f, 0x62, 0xfb, 0xe8, 0x9c, 0xcb, 0x80, 0x1b, 0x4b, 0x59, 2720 0xab, 0x20, 0x28, 0xab, 0x82, 0x60, 0xfe, 0x35, 0x0b, 0x25, 0xd5, 0x1e, 0x2d, 0xcc, 0x86, 0x3d, 2721 0x8e, 0xda, 0x63, 0x1d, 0x47, 0xa5, 0xa8, 0x91, 0xd6, 0xb6, 0xdd, 0xa8, 0x33, 0x8d, 0x76, 0xa9, 2722 0xe3, 0x4b, 0xbb, 0x54, 0x56, 0x82, 0xdf, 0x9b, 0x0c, 0x3c, 0x8a, 0xec, 0x65, 0xed, 0xed, 0x25, 2723 0x28, 0xe0, 0x33, 0x9f, 0xdb, 0x1d, 0xe2, 0xaa, 0xd4, 0xcc, 0x5a, 0x79, 0x41, 0x68, 0x8a, 0x2c, 2724 0x88, 0x58, 0x70, 0x97, 0x88, 0x56, 0xed, 0x7c, 0x22, 0xbb, 0x5f, 0xc9, 0x2a, 0x28, 0x8a, 0xe5, 2725 0x7c, 0x82, 0xf6, 0x61, 0x5e, 0xb3, 0x75, 0x5e, 0xe6, 0xa6, 0xca, 0x4b, 0x49, 0x81, 0xe8, 0x9c, 2726 0x28, 0x9d, 0x98, 0x52, 0xa9, 0x33, 0x17, 0xe9, 0xc4, 0x94, 0xc6, 0x3a, 0x05, 0x5b, 0xeb, 0xcc, 2727 0x4f, 0xad, 0x13, 0x53, 0xaa, 0x9e, 0xcc, 0xdf, 0x1a, 0x00, 0x71, 0x22, 0x44, 0x59, 0x0c, 0x1c, 2728 0x1e, 0x95, 0x85, 0xf8, 0xfd, 0xcc, 0xae, 0x43, 0x05, 0x72, 0x1d, 0x12, 0x70, 0x1c, 0xf0, 0x4a, 2729 0x56, 0xfa, 0x16, 0x3e, 0xa6, 0xbb, 0x28, 0xbf, 0x32, 0x60, 0xe6, 0x80, 0x62, 0x8c, 0x5a, 0x30, 2730 0x23, 0xc6, 0xa7, 0x9e, 0xc8, 0x77, 0x26, 0xee, 0x08, 0x96, 0x14, 0x47, 0xdb, 0x90, 0xef, 0x74, 2731 0xfd, 0x9e, 0x4b, 0x71, 0xa0, 0x2b, 0x77, 0x0a, 0xa8, 0x08, 0xc2, 0xfc, 0xa3, 0x01, 0xe5, 0xb1, 2732 0xa2, 0x7b, 0xae, 0xd1, 0xdc, 0x85, 0x22, 0xa7, 0x18, 0x87, 0xb5, 0x90, 0x9d, 0x0a, 0x0c, 0x04, 2733 0x84, 0xae, 0x84, 0xcf, 0x32, 0x70, 0x4d, 0x85, 0x1b, 0x5b, 0xf8, 0xdb, 0xc3, 0xb0, 0x81, 0x05, 2734 0x8c, 0x3b, 0x41, 0x07, 0xdb, 0x89, 0x9e, 0x54, 0x0a, 0x89, 0x3b, 0xba, 0x37, 0x39, 0xb2, 0x2b, 2735 0x4c, 0xea, 0x90, 0xee, 0x25, 0x5a, 0x1a, 0x2d, 0xc3, 0x75, 0x76, 0xe2, 0x0f, 0xd4, 0xa0, 0xb7, 2736 0x7b, 0x84, 0x9c, 0x0c, 0x07, 0xd2, 0xad, 0xbc, 0x55, 0x16, 0x0c, 0x39, 0xee, 0xb7, 0x24, 0x19, 2737 0xdd, 0x85, 0x17, 0x39, 0xe1, 0x4e, 0xcf, 0x56, 0xdb, 0x94, 0x68, 0x3f, 0x76, 0x87, 0x0c, 0x03, 2738 0xae, 0xef, 0xf1, 0x0b, 0x92, 0xbb, 0x19, 0xe8, 0xb2, 0x6e, 0x0a, 0xd6, 0xa5, 0x42, 0xaa, 0xd5, 2739 0xcd, 0xca, 0x56, 0x37, 0x26, 0xa4, 0x9a, 0xde, 0x19, 0xe4, 0xb6, 0x88, 0x27, 0xef, 0x46, 0x9c, 2740 0x39, 0xe3, 0x4a, 0x99, 0xfb, 0x32, 0x5c, 0xeb, 0x0e, 0xfb, 0x4e, 0x60, 0x53, 0xec, 0xb8, 0xb2, 2741 0xdc, 0x33, 0xd2, 0xcb, 0x79, 0x49, 0xb5, 0x34, 0xd1, 0xfc, 0x41, 0x16, 0xca, 0x51, 0x3e, 0xd8, 2742 0x80, 0x04, 0x0c, 0xa3, 0x2d, 0x98, 0xa3, 0xb2, 0xf7, 0x6a, 0x13, 0xde, 0x98, 0x30, 0xd6, 0x52, 2743 0xd6, 0xd2, 0x18, 0x22, 0xbd, 0x32, 0xd8, 0xae, 0xad, 0x41, 0x95, 0x1d, 0x25, 0x45, 0xd4, 0x4d, 2744 0x7e, 0x19, 0xe6, 0xd4, 0x92, 0xac, 0x4b, 0x0c, 0x85, 0x2a, 0xe9, 0xa0, 0x53, 0xdb, 0x97, 0x1c, 2745 0x4b, 0x9f, 0x40, 0x5d, 0x28, 0x32, 0x4c, 0x4f, 0x31, 0xb5, 0x7b, 0xc4, 0x53, 0x8b, 0x65, 0xb1, 2746 0xb1, 0x91, 0xd6, 0xc6, 0x31, 0x67, 0x6b, 0xfb, 0x12, 0x6a, 0x8b, 0x78, 0xac, 0x15, 0x70, 0x7a, 2747 0x6e, 0x01, 0x8b, 0x08, 0xd5, 0x00, 0xca, 0x63, 0x6c, 0xb4, 0x00, 0xd9, 0x13, 0x7c, 0xae, 0x4b, 2748 0x54, 0xfc, 0x44, 0xad, 0xe4, 0xb6, 0x52, 0x6c, 0xd4, 0xd3, 0x1a, 0xa2, 0x13, 0xae, 0xd7, 0x9b, 2749 0x95, 0xcc, 0xd7, 0x0d, 0xf3, 0xf3, 0x0c, 0x54, 0xb4, 0x7d, 0xbb, 0xe1, 0xfb, 0xc6, 0x36, 0xe6, 2750 0x8e, 0xeb, 0x70, 0x07, 0x7d, 0x04, 0xb3, 0x8c, 0x3b, 0x9e, 0xba, 0x1e, 0xd7, 0x1a, 0xeb, 0x13, 2751 0x3a, 0x7c, 0x01, 0x50, 0x84, 0xd5, 0xc3, 0x96, 0x02, 0x15, 0x6d, 0x5f, 0xdd, 0x90, 0xab, 0xbd, 2752 0x2f, 0x94, 0x14, 0x88, 0x1e, 0x35, 0xaf, 0x03, 0xd2, 0xf3, 0x8b, 0x71, 0x8a, 0x9d, 0xbe, 0xba, 2753 0xde, 0x59, 0x19, 0xbb, 0x05, 0xc5, 0xd9, 0x97, 0x0c, 0x79, 0xc5, 0xd5, 0x69, 0x31, 0x79, 0x92, 2754 0xa7, 0x67, 0xa2, 0xd3, 0x98, 0xd2, 0xf8, 0xb4, 0xb9, 0x0b, 0xb3, 0xd2, 0x01, 0x54, 0x84, 0x5c, 2755 0x7b, 0xe7, 0xbd, 0x9d, 0xdd, 0x0f, 0x76, 0x16, 0xbe, 0x80, 0xca, 0x50, 0x6c, 0xde, 0x6f, 0xbe, 2756 0xdb, 0xb2, 0x9b, 0xef, 0xb6, 0x9a, 0xef, 0x2d, 0x18, 0x08, 0x60, 0xee, 0xfd, 0x76, 0xab, 0xdd, 2757 0x5a, 0x5b, 0xc8, 0xa0, 0x79, 0x28, 0xb4, 0x1e, 0xb4, 0x9a, 0xed, 0x83, 0xcd, 0x9d, 0x8d, 0x85, 2758 0xac, 0x78, 0x6c, 0xee, 0x6e, 0xef, 0x6d, 0xb5, 0x0e, 0x5a, 0x6b, 0x0b, 0x33, 0xe6, 0x4f, 0x0d, 2759 0x78, 0x71, 0x03, 0xf3, 0x91, 0x1a, 0x9e, 0xa4, 0x43, 0x3d, 0x8f, 0x08, 0x9a, 0xff, 0x36, 0xe0, 2760 0x56, 0x7b, 0xe0, 0x3a, 0x1c, 0xff, 0x5f, 0xd9, 0x85, 0x3e, 0x8c, 0x40, 0xf5, 0xa5, 0xce, 0x5e, 2761 0xa1, 0x53, 0x68, 0x68, 0xf5, 0x64, 0xfe, 0xc4, 0x80, 0x9b, 0xeb, 0x7e, 0xe0, 0x6e, 0xfb, 0x8c, 2762 0xf9, 0x81, 0xb7, 0xda, 0x23, 0x47, 0x6c, 0x22, 0x87, 0xdf, 0x87, 0xd2, 0x51, 0x8f, 0x1c, 0x69, 2763 0x77, 0xc3, 0x85, 0x71, 0x52, 0x7f, 0x8b, 0x02, 0x43, 0xfd, 0x66, 0xe6, 0x77, 0xa0, 0x72, 0xd1, 2764 0x24, 0xdd, 0x2d, 0x3f, 0x86, 0x1b, 0x7d, 0x45, 0xb7, 0x9f, 0x81, 0x5a, 0xd4, 0x8f, 0x75, 0x84, 2765 0xda, 0xbf, 0x0b, 0xd7, 0x55, 0x0d, 0x08, 0x62, 0x18, 0x0a, 0xf9, 0xed, 0x40, 0x2e, 0x36, 0x57, 2766 0xfe, 0x76, 0x20, 0x51, 0xe2, 0x8d, 0x5d, 0x34, 0x07, 0x59, 0x24, 0x25, 0x4b, 0xfe, 0x36, 0x7f, 2767 0x66, 0xc0, 0xcd, 0x55, 0x87, 0x77, 0xba, 0xb1, 0x15, 0x93, 0x65, 0xa4, 0x0d, 0x79, 0xaa, 0xce, 2768 0x87, 0x61, 0x49, 0xfd, 0x26, 0x79, 0xc1, 0x71, 0x2b, 0x82, 0x32, 0x7f, 0x94, 0x81, 0xca, 0x45, 2769 0xbb, 0x74, 0x5a, 0x3c, 0x28, 0x50, 0xfd, 0x3b, 0x7c, 0x49, 0xdc, 0x4c, 0xab, 0xf4, 0x49, 0xa0, 2770 0xb5, 0xf0, 0x87, 0x15, 0x63, 0x57, 0xbf, 0x6f, 0x40, 0x3e, 0xd2, 0xba, 0x0b, 0xc5, 0x44, 0x11, 2771 0x4c, 0x99, 0x12, 0x88, 0x4b, 0x2f, 0x31, 0x18, 0x33, 0x4f, 0x1b, 0x8c, 0xe6, 0x9f, 0x0d, 0xb8, 2772 0xb6, 0x81, 0xb9, 0x58, 0x5f, 0x27, 0x4a, 0xcf, 0x2e, 0x14, 0xaf, 0xfe, 0xa5, 0x08, 0x68, 0xfc, 2773 0x91, 0xe8, 0x25, 0x28, 0x0c, 0x1c, 0x0f, 0xdb, 0xe2, 0xad, 0x4e, 0x76, 0x86, 0x59, 0x2b, 0x2f, 2774 0x08, 0xfb, 0xfe, 0xa7, 0xf2, 0x9d, 0x47, 0x32, 0x39, 0x39, 0xc1, 0x81, 0x6e, 0xef, 0xf2, 0xf8, 2775 0x81, 0x20, 0x98, 0x3f, 0x36, 0xa0, 0x1c, 0x39, 0xa1, 0xa3, 0xba, 0x3f, 0xfa, 0x92, 0x6e, 0x4c, 2776 0xbb, 0x47, 0x27, 0x51, 0xd0, 0x6b, 0x50, 0x0e, 0xf0, 0x19, 0xb7, 0x13, 0xc6, 0xa8, 0xef, 0x0d, 2777 0xf3, 0x82, 0xbc, 0x17, 0x19, 0xb4, 0x0d, 0xc5, 0x03, 0x42, 0x7a, 0x6b, 0x98, 0x3b, 0x7e, 0x4f, 2778 0xbe, 0xcf, 0x09, 0x6d, 0xc9, 0x68, 0xe6, 0x05, 0x41, 0x46, 0xf2, 0x15, 0x28, 0x49, 0xe6, 0x29, 2779 0xa6, 0x2c, 0xdc, 0x55, 0x0b, 0x56, 0x51, 0xd0, 0x0e, 0x15, 0x49, 0x74, 0xf4, 0xb2, 0xce, 0x4e, 2780 0x34, 0xda, 0x0f, 0xb5, 0x98, 0xab, 0x74, 0xe8, 0xb2, 0xb9, 0x9b, 0xd6, 0xc1, 0x84, 0x79, 0x4a, 2781 0x57, 0xc2, 0x56, 0xdd, 0xa5, 0x7d, 0x57, 0xdb, 0x92, 0x57, 0x84, 0x4d, 0x57, 0x8c, 0x5b, 0xa9, 2782 0xd4, 0x0f, 0x4e, 0x49, 0xc7, 0x09, 0x4f, 0xe9, 0xe1, 0x2c, 0x38, 0x9b, 0x11, 0x63, 0xd3, 0x45, 2783 0x2b, 0x70, 0xab, 0x43, 0x28, 0xc5, 0x3d, 0x87, 0x63, 0x37, 0x21, 0xc3, 0x84, 0x90, 0x4a, 0xe2, 2784 0xcd, 0xf8, 0x40, 0x2c, 0xca, 0x36, 0xdd, 0xc6, 0x6f, 0x0c, 0x28, 0xb4, 0x42, 0xa3, 0xd1, 0xcf, 2785 0x0d, 0xc8, 0xe9, 0x9d, 0x04, 0x7d, 0x6d, 0xe2, 0xad, 0x4d, 0x06, 0xae, 0x7a, 0x3b, 0x94, 0x4b, 2786 0x7c, 0xa2, 0xad, 0x45, 0x1b, 0x8e, 0xf9, 0xe6, 0xf7, 0xfe, 0xf6, 0xcf, 0xcf, 0x32, 0x75, 0x73, 2787 0x39, 0xfc, 0x5c, 0xfc, 0x68, 0xe4, 0x12, 0xbc, 0xbd, 0xbc, 0xfc, 0xb8, 0xae, 0xe2, 0xc0, 0x56, 2788 0x94, 0x2a, 0xbc, 0x62, 0x2c, 0x37, 0x3e, 0xcf, 0x42, 0x51, 0x0d, 0x26, 0xf9, 0x16, 0x80, 0xfe, 2789 0xa5, 0x4a, 0x71, 0xe4, 0x6b, 0xc4, 0x37, 0xd3, 0x5a, 0x7c, 0xf9, 0x2a, 0x51, 0x9d, 0x6a, 0x42, 2790 0x9a, 0x1f, 0x4b, 0x87, 0x1e, 0xa2, 0x07, 0x4f, 0x75, 0x48, 0x09, 0xb0, 0xfa, 0xa3, 0x91, 0x99, 2791 0x5f, 0xeb, 0x3a, 0xac, 0xfb, 0x78, 0x9c, 0x18, 0x7f, 0x86, 0x79, 0x8c, 0xfe, 0x63, 0x00, 0xba, 2792 0xb8, 0x68, 0xa0, 0xfb, 0x93, 0xf5, 0xe9, 0x67, 0xe7, 0x31, 0x91, 0x1e, 0xfb, 0xd5, 0xe7, 0xe6, 2793 0xf1, 0xca, 0xe8, 0x02, 0xd3, 0xf8, 0xc5, 0x2c, 0xdc, 0x6a, 0xaa, 0x51, 0x78, 0xdf, 0x75, 0x29, 2794 0x66, 0x4c, 0xbc, 0x1f, 0xed, 0x73, 0x42, 0xc5, 0x92, 0xf9, 0x17, 0x03, 0x16, 0xc6, 0x37, 0x00, 2795 0xf4, 0x4e, 0xfa, 0x8f, 0x8e, 0x97, 0xae, 0x33, 0xd5, 0x6f, 0x4d, 0x0f, 0xa0, 0x3a, 0xa3, 0x79, 2796 0x4f, 0x86, 0xe9, 0x8e, 0xf9, 0xfa, 0xff, 0x08, 0x93, 0x98, 0x26, 0x6c, 0xe5, 0x38, 0x86, 0x58, 2797 0x31, 0x96, 0xa5, 0x43, 0xe3, 0x63, 0x2e, 0xbd, 0x43, 0x4f, 0xd8, 0x06, 0xd2, 0x3b, 0xf4, 0xa4, 2798 0x09, 0x3b, 0x81, 0x43, 0x47, 0x31, 0x84, 0x70, 0xe8, 0xef, 0x06, 0xe4, 0xf4, 0xdc, 0x48, 0xdf, 2799 0x56, 0x46, 0xa7, 0x65, 0xf5, 0xde, 0xc4, 0x72, 0xda, 0xea, 0x8f, 0xa4, 0xd5, 0x87, 0xe8, 0xe0, 2800 0x69, 0x56, 0xd7, 0x1f, 0x25, 0x26, 0x6d, 0x58, 0xa3, 0x49, 0x52, 0xb2, 0x42, 0x3d, 0xa5, 0x65, 2801 0xf5, 0x4f, 0x06, 0x2c, 0x77, 0x48, 0x3f, 0xa5, 0x71, 0xab, 0x37, 0x2c, 0x49, 0x8f, 0x3a, 0xee, 2802 0x1e, 0x25, 0x9c, 0xec, 0x19, 0x0f, 0xdb, 0x5a, 0xde, 0x23, 0x3d, 0x27, 0xf0, 0x6a, 0x84, 0x7a, 2803 0x75, 0x0f, 0x07, 0xf2, 0x6f, 0x91, 0xba, 0x62, 0x39, 0x03, 0x9f, 0x3d, 0xed, 0xaf, 0xb7, 0xb7, 2804 0xc6, 0xc8, 0xbf, 0xce, 0x64, 0xad, 0xd6, 0x83, 0xdf, 0x65, 0x6e, 0x6f, 0x28, 0xf4, 0x31, 0xe5, 2805 0xb5, 0xc3, 0x3b, 0x07, 0x98, 0xf1, 0xa3, 0x39, 0xa9, 0xe7, 0xee, 0x7f, 0x03, 0x00, 0x00, 0xff, 2806 0xff, 0xf0, 0x8a, 0x2f, 0x43, 0xe1, 0x1b, 0x00, 0x00, 2807} 2808