feat: add binary name RPC

This commit is contained in:
Peter 2023-09-12 18:05:19 +02:00
parent e4d230e5c7
commit 4b705a6732
Signed by: prskr
GPG key ID: C1DB5D2E8DB512F9
4 changed files with 639 additions and 121 deletions

View file

@ -45,6 +45,9 @@ const (
// WasiExecutorServiceHelpProcedure is the fully-qualified name of the WasiExecutorService's Help // WasiExecutorServiceHelpProcedure is the fully-qualified name of the WasiExecutorService's Help
// RPC. // RPC.
WasiExecutorServiceHelpProcedure = "/buildr.rpc.v1.WasiExecutorService/Help" WasiExecutorServiceHelpProcedure = "/buildr.rpc.v1.WasiExecutorService/Help"
// WasiExecutorServiceBinaryNameProcedure is the fully-qualified name of the WasiExecutorService's
// BinaryName RPC.
WasiExecutorServiceBinaryNameProcedure = "/buildr.rpc.v1.WasiExecutorService/BinaryName"
// ExecutorHostServiceProcessStartProcedure is the fully-qualified name of the ExecutorHostService's // ExecutorHostServiceProcessStartProcedure is the fully-qualified name of the ExecutorHostService's
// ProcessStart RPC. // ProcessStart RPC.
ExecutorHostServiceProcessStartProcedure = "/buildr.rpc.v1.ExecutorHostService/ProcessStart" ExecutorHostServiceProcessStartProcedure = "/buildr.rpc.v1.ExecutorHostService/ProcessStart"
@ -58,6 +61,7 @@ type WasiExecutorServiceClient interface {
PluginInventory(context.Context, *connect.Request[v1.PluginInventoryRequest]) (*connect.Response[v1.PluginInventoryResponse], error) PluginInventory(context.Context, *connect.Request[v1.PluginInventoryRequest]) (*connect.Response[v1.PluginInventoryResponse], error)
StartTask(context.Context, *connect.Request[v11.StartTaskRequest]) (*connect.Response[v1.StartTaskResponse], error) StartTask(context.Context, *connect.Request[v11.StartTaskRequest]) (*connect.Response[v1.StartTaskResponse], error)
Help(context.Context, *connect.Request[v1.HelpRequest]) (*connect.Response[v1.HelpResponse], error) Help(context.Context, *connect.Request[v1.HelpRequest]) (*connect.Response[v1.HelpResponse], error)
BinaryName(context.Context, *connect.Request[v1.BinaryNameRequest]) (*connect.Response[v1.BinaryNameResponse], error)
} }
// NewWasiExecutorServiceClient constructs a client for the buildr.rpc.v1.WasiExecutorService // NewWasiExecutorServiceClient constructs a client for the buildr.rpc.v1.WasiExecutorService
@ -85,6 +89,11 @@ func NewWasiExecutorServiceClient(httpClient connect.HTTPClient, baseURL string,
baseURL+WasiExecutorServiceHelpProcedure, baseURL+WasiExecutorServiceHelpProcedure,
opts..., opts...,
), ),
binaryName: connect.NewClient[v1.BinaryNameRequest, v1.BinaryNameResponse](
httpClient,
baseURL+WasiExecutorServiceBinaryNameProcedure,
opts...,
),
} }
} }
@ -93,6 +102,7 @@ type wasiExecutorServiceClient struct {
pluginInventory *connect.Client[v1.PluginInventoryRequest, v1.PluginInventoryResponse] pluginInventory *connect.Client[v1.PluginInventoryRequest, v1.PluginInventoryResponse]
startTask *connect.Client[v11.StartTaskRequest, v1.StartTaskResponse] startTask *connect.Client[v11.StartTaskRequest, v1.StartTaskResponse]
help *connect.Client[v1.HelpRequest, v1.HelpResponse] help *connect.Client[v1.HelpRequest, v1.HelpResponse]
binaryName *connect.Client[v1.BinaryNameRequest, v1.BinaryNameResponse]
} }
// PluginInventory calls buildr.rpc.v1.WasiExecutorService.PluginInventory. // PluginInventory calls buildr.rpc.v1.WasiExecutorService.PluginInventory.
@ -110,11 +120,17 @@ func (c *wasiExecutorServiceClient) Help(ctx context.Context, req *connect.Reque
return c.help.CallUnary(ctx, req) return c.help.CallUnary(ctx, req)
} }
// BinaryName calls buildr.rpc.v1.WasiExecutorService.BinaryName.
func (c *wasiExecutorServiceClient) BinaryName(ctx context.Context, req *connect.Request[v1.BinaryNameRequest]) (*connect.Response[v1.BinaryNameResponse], error) {
return c.binaryName.CallUnary(ctx, req)
}
// WasiExecutorServiceHandler is an implementation of the buildr.rpc.v1.WasiExecutorService service. // WasiExecutorServiceHandler is an implementation of the buildr.rpc.v1.WasiExecutorService service.
type WasiExecutorServiceHandler interface { type WasiExecutorServiceHandler interface {
PluginInventory(context.Context, *connect.Request[v1.PluginInventoryRequest]) (*connect.Response[v1.PluginInventoryResponse], error) PluginInventory(context.Context, *connect.Request[v1.PluginInventoryRequest]) (*connect.Response[v1.PluginInventoryResponse], error)
StartTask(context.Context, *connect.Request[v11.StartTaskRequest]) (*connect.Response[v1.StartTaskResponse], error) StartTask(context.Context, *connect.Request[v11.StartTaskRequest]) (*connect.Response[v1.StartTaskResponse], error)
Help(context.Context, *connect.Request[v1.HelpRequest]) (*connect.Response[v1.HelpResponse], error) Help(context.Context, *connect.Request[v1.HelpRequest]) (*connect.Response[v1.HelpResponse], error)
BinaryName(context.Context, *connect.Request[v1.BinaryNameRequest]) (*connect.Response[v1.BinaryNameResponse], error)
} }
// NewWasiExecutorServiceHandler builds an HTTP handler from the service implementation. It returns // NewWasiExecutorServiceHandler builds an HTTP handler from the service implementation. It returns
@ -138,6 +154,11 @@ func NewWasiExecutorServiceHandler(svc WasiExecutorServiceHandler, opts ...conne
svc.Help, svc.Help,
opts..., opts...,
) )
wasiExecutorServiceBinaryNameHandler := connect.NewUnaryHandler(
WasiExecutorServiceBinaryNameProcedure,
svc.BinaryName,
opts...,
)
return "/buildr.rpc.v1.WasiExecutorService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { return "/buildr.rpc.v1.WasiExecutorService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
switch r.URL.Path { switch r.URL.Path {
case WasiExecutorServicePluginInventoryProcedure: case WasiExecutorServicePluginInventoryProcedure:
@ -146,6 +167,8 @@ func NewWasiExecutorServiceHandler(svc WasiExecutorServiceHandler, opts ...conne
wasiExecutorServiceStartTaskHandler.ServeHTTP(w, r) wasiExecutorServiceStartTaskHandler.ServeHTTP(w, r)
case WasiExecutorServiceHelpProcedure: case WasiExecutorServiceHelpProcedure:
wasiExecutorServiceHelpHandler.ServeHTTP(w, r) wasiExecutorServiceHelpHandler.ServeHTTP(w, r)
case WasiExecutorServiceBinaryNameProcedure:
wasiExecutorServiceBinaryNameHandler.ServeHTTP(w, r)
default: default:
http.NotFound(w, r) http.NotFound(w, r)
} }
@ -167,6 +190,10 @@ func (UnimplementedWasiExecutorServiceHandler) Help(context.Context, *connect.Re
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("buildr.rpc.v1.WasiExecutorService.Help is not implemented")) return nil, connect.NewError(connect.CodeUnimplemented, errors.New("buildr.rpc.v1.WasiExecutorService.Help is not implemented"))
} }
func (UnimplementedWasiExecutorServiceHandler) BinaryName(context.Context, *connect.Request[v1.BinaryNameRequest]) (*connect.Response[v1.BinaryNameResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("buildr.rpc.v1.WasiExecutorService.BinaryName is not implemented"))
}
// ExecutorHostServiceClient is a client for the buildr.rpc.v1.ExecutorHostService service. // ExecutorHostServiceClient is a client for the buildr.rpc.v1.ExecutorHostService service.
type ExecutorHostServiceClient interface { type ExecutorHostServiceClient interface {
ProcessStart(context.Context, *connect.Request[v1.ProcessStartRequest]) (*connect.Response[v1.ProcessStartResponse], error) ProcessStart(context.Context, *connect.Request[v1.ProcessStartRequest]) (*connect.Response[v1.ProcessStartResponse], error)

View file

@ -327,6 +327,108 @@ func (x *StartTaskResponse) GetError() string {
return "" return ""
} }
type BinaryNameRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ModuleReference *v1.ModuleReference `protobuf:"bytes,1,opt,name=module_reference,json=moduleReference,proto3" json:"module_reference,omitempty"`
Spec *v1.ModuleSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"`
}
func (x *BinaryNameRequest) Reset() {
*x = BinaryNameRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_wasi_v1_wasi_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BinaryNameRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BinaryNameRequest) ProtoMessage() {}
func (x *BinaryNameRequest) ProtoReflect() protoreflect.Message {
mi := &file_wasi_v1_wasi_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BinaryNameRequest.ProtoReflect.Descriptor instead.
func (*BinaryNameRequest) Descriptor() ([]byte, []int) {
return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{6}
}
func (x *BinaryNameRequest) GetModuleReference() *v1.ModuleReference {
if x != nil {
return x.ModuleReference
}
return nil
}
func (x *BinaryNameRequest) GetSpec() *v1.ModuleSpec {
if x != nil {
return x.Spec
}
return nil
}
type BinaryNameResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *BinaryNameResponse) Reset() {
*x = BinaryNameResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_wasi_v1_wasi_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BinaryNameResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BinaryNameResponse) ProtoMessage() {}
func (x *BinaryNameResponse) ProtoReflect() protoreflect.Message {
mi := &file_wasi_v1_wasi_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BinaryNameResponse.ProtoReflect.Descriptor instead.
func (*BinaryNameResponse) Descriptor() ([]byte, []int) {
return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{7}
}
func (x *BinaryNameResponse) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type ProcessStartRequest struct { type ProcessStartRequest struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -342,7 +444,7 @@ type ProcessStartRequest struct {
func (x *ProcessStartRequest) Reset() { func (x *ProcessStartRequest) Reset() {
*x = ProcessStartRequest{} *x = ProcessStartRequest{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_wasi_v1_wasi_proto_msgTypes[6] mi := &file_wasi_v1_wasi_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -355,7 +457,7 @@ func (x *ProcessStartRequest) String() string {
func (*ProcessStartRequest) ProtoMessage() {} func (*ProcessStartRequest) ProtoMessage() {}
func (x *ProcessStartRequest) ProtoReflect() protoreflect.Message { func (x *ProcessStartRequest) ProtoReflect() protoreflect.Message {
mi := &file_wasi_v1_wasi_proto_msgTypes[6] mi := &file_wasi_v1_wasi_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -368,7 +470,7 @@ func (x *ProcessStartRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProcessStartRequest.ProtoReflect.Descriptor instead. // Deprecated: Use ProcessStartRequest.ProtoReflect.Descriptor instead.
func (*ProcessStartRequest) Descriptor() ([]byte, []int) { func (*ProcessStartRequest) Descriptor() ([]byte, []int) {
return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{6} return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{8}
} }
func (x *ProcessStartRequest) GetCommand() string { func (x *ProcessStartRequest) GetCommand() string {
@ -419,7 +521,7 @@ type ProcessStartResponse struct {
func (x *ProcessStartResponse) Reset() { func (x *ProcessStartResponse) Reset() {
*x = ProcessStartResponse{} *x = ProcessStartResponse{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_wasi_v1_wasi_proto_msgTypes[7] mi := &file_wasi_v1_wasi_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -432,7 +534,7 @@ func (x *ProcessStartResponse) String() string {
func (*ProcessStartResponse) ProtoMessage() {} func (*ProcessStartResponse) ProtoMessage() {}
func (x *ProcessStartResponse) ProtoReflect() protoreflect.Message { func (x *ProcessStartResponse) ProtoReflect() protoreflect.Message {
mi := &file_wasi_v1_wasi_proto_msgTypes[7] mi := &file_wasi_v1_wasi_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -445,7 +547,7 @@ func (x *ProcessStartResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProcessStartResponse.ProtoReflect.Descriptor instead. // Deprecated: Use ProcessStartResponse.ProtoReflect.Descriptor instead.
func (*ProcessStartResponse) Descriptor() ([]byte, []int) { func (*ProcessStartResponse) Descriptor() ([]byte, []int) {
return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{7} return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{9}
} }
func (x *ProcessStartResponse) GetExitCode() int32 { func (x *ProcessStartResponse) GetExitCode() int32 {
@ -480,7 +582,7 @@ type LookupPathRequest struct {
func (x *LookupPathRequest) Reset() { func (x *LookupPathRequest) Reset() {
*x = LookupPathRequest{} *x = LookupPathRequest{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_wasi_v1_wasi_proto_msgTypes[8] mi := &file_wasi_v1_wasi_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -493,7 +595,7 @@ func (x *LookupPathRequest) String() string {
func (*LookupPathRequest) ProtoMessage() {} func (*LookupPathRequest) ProtoMessage() {}
func (x *LookupPathRequest) ProtoReflect() protoreflect.Message { func (x *LookupPathRequest) ProtoReflect() protoreflect.Message {
mi := &file_wasi_v1_wasi_proto_msgTypes[8] mi := &file_wasi_v1_wasi_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -506,7 +608,7 @@ func (x *LookupPathRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LookupPathRequest.ProtoReflect.Descriptor instead. // Deprecated: Use LookupPathRequest.ProtoReflect.Descriptor instead.
func (*LookupPathRequest) Descriptor() ([]byte, []int) { func (*LookupPathRequest) Descriptor() ([]byte, []int) {
return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{8} return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{10}
} }
func (x *LookupPathRequest) GetCommand() string { func (x *LookupPathRequest) GetCommand() string {
@ -528,7 +630,7 @@ type LookupPathResponse struct {
func (x *LookupPathResponse) Reset() { func (x *LookupPathResponse) Reset() {
*x = LookupPathResponse{} *x = LookupPathResponse{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_wasi_v1_wasi_proto_msgTypes[9] mi := &file_wasi_v1_wasi_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -541,7 +643,7 @@ func (x *LookupPathResponse) String() string {
func (*LookupPathResponse) ProtoMessage() {} func (*LookupPathResponse) ProtoMessage() {}
func (x *LookupPathResponse) ProtoReflect() protoreflect.Message { func (x *LookupPathResponse) ProtoReflect() protoreflect.Message {
mi := &file_wasi_v1_wasi_proto_msgTypes[9] mi := &file_wasi_v1_wasi_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -554,7 +656,7 @@ func (x *LookupPathResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use LookupPathResponse.ProtoReflect.Descriptor instead. // Deprecated: Use LookupPathResponse.ProtoReflect.Descriptor instead.
func (*LookupPathResponse) Descriptor() ([]byte, []int) { func (*LookupPathResponse) Descriptor() ([]byte, []int) {
return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{9} return file_wasi_v1_wasi_proto_rawDescGZIP(), []int{11}
} }
func (x *LookupPathResponse) GetPath() string { func (x *LookupPathResponse) GetPath() string {
@ -583,7 +685,7 @@ type PluginInventoryResponse_InventorySpec struct {
func (x *PluginInventoryResponse_InventorySpec) Reset() { func (x *PluginInventoryResponse_InventorySpec) Reset() {
*x = PluginInventoryResponse_InventorySpec{} *x = PluginInventoryResponse_InventorySpec{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_wasi_v1_wasi_proto_msgTypes[10] mi := &file_wasi_v1_wasi_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -596,7 +698,7 @@ func (x *PluginInventoryResponse_InventorySpec) String() string {
func (*PluginInventoryResponse_InventorySpec) ProtoMessage() {} func (*PluginInventoryResponse_InventorySpec) ProtoMessage() {}
func (x *PluginInventoryResponse_InventorySpec) ProtoReflect() protoreflect.Message { func (x *PluginInventoryResponse_InventorySpec) ProtoReflect() protoreflect.Message {
mi := &file_wasi_v1_wasi_proto_msgTypes[10] mi := &file_wasi_v1_wasi_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -673,78 +775,95 @@ var file_wasi_v1_wasi_proto_rawDesc = []byte{
0x70, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x22, 0x29, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x70, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x22, 0x29, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x22, 0x9d, 0x02, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x22, 0x8d, 0x01, 0x0a, 0x11, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4e, 0x61, 0x6d,
0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x75,
0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e,
0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x63, 0x65, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28,
0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76,
0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x62, 0x75, 0x69, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70,
0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x65, 0x63, 0x22, 0x28, 0x0a, 0x12, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65,
0x73, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9d, 0x02, 0x0a,
0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x13, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71,
0x73, 0x74, 0x64, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x74, 0x64, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18,
0x69, 0x6e, 0x1a, 0x3e, 0x0a, 0x10, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12,
0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77,
0x38, 0x01, 0x22, 0x61, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12,
0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x55, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04,
0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70,
0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x72,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72,
0x74, 0x64, 0x65, 0x72, 0x72, 0x22, 0x2d, 0x0a, 0x11, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x64, 0x69, 0x6e, 0x18,
0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x74, 0x64, 0x69, 0x6e, 0x1a, 0x3e, 0x0a, 0x10,
0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x6d, 0x61, 0x6e, 0x64, 0x22, 0x3e, 0x0a, 0x12, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x61, 0x0a, 0x14,
0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70,
0x72, 0x72, 0x6f, 0x72, 0x32, 0x88, 0x02, 0x0a, 0x13, 0x57, 0x61, 0x73, 0x69, 0x45, 0x78, 0x65, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64,
0x63, 0x75, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64,
0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x25, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72,
0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x22,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x2d, 0x0a, 0x11, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71,
0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18,
0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x3e,
0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x2e, 0x62, 0x75, 0x0a, 0x12, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70,
0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x62, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x32, 0xdb,
0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x02, 0x0a, 0x13, 0x57, 0x61, 0x73, 0x69, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x53,
0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e,
0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x62, 0x75, 0x69, 0x6c,
0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e,
0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0xc1, 0x01, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
0x73, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72,
0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72,
0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52,
0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e,
0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b,
0x12, 0x51, 0x0a, 0x0a, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x12, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70,
0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31,
0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62,
0x1a, 0x21, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c,
0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x42, 0x69, 0x6e,
0x6e, 0x73, 0x65, 0x42, 0xaa, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x61, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72,
0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x57, 0x61, 0x73, 0x69, 0x50, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4e, 0x61,
0x72, 0x6f, 0x74, 0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x62, 0x75, 0x69, 0x6c,
0x63, 0x62, 0x34, 0x64, 0x63, 0x30, 0x2e, 0x64, 0x65, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc1, 0x01, 0x0a,
0x61, 0x73, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x42, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x72,
0x52, 0x58, 0xaa, 0x02, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x76, 0x69, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53,
0x56, 0x31, 0xca, 0x02, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x74, 0x61, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70,
0x56, 0x31, 0xe2, 0x02, 0x19, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x72,
0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x0f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x31, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a,
0x0a, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x62, 0x75,
0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b,
0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f,
0x6f, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x42, 0xaa, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e,
0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x57, 0x61, 0x73, 0x69, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x48, 0x02, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x69, 0x63, 0x62, 0x34,
0x64, 0x63, 0x30, 0x2e, 0x64, 0x65, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x77, 0x61, 0x73, 0x69,
0x2f, 0x76, 0x31, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x42, 0x52, 0x58, 0xaa,
0x02, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x31, 0xca,
0x02, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x31, 0xe2,
0x02, 0x19, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x72, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x31, 0x5c,
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x42, 0x75,
0x69, 0x6c, 0x64, 0x72, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -759,7 +878,7 @@ func file_wasi_v1_wasi_proto_rawDescGZIP() []byte {
return file_wasi_v1_wasi_proto_rawDescData return file_wasi_v1_wasi_proto_rawDescData
} }
var file_wasi_v1_wasi_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_wasi_v1_wasi_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_wasi_v1_wasi_proto_goTypes = []interface{}{ var file_wasi_v1_wasi_proto_goTypes = []interface{}{
(*HelpRequest)(nil), // 0: buildr.rpc.v1.HelpRequest (*HelpRequest)(nil), // 0: buildr.rpc.v1.HelpRequest
(*TaskExample)(nil), // 1: buildr.rpc.v1.TaskExample (*TaskExample)(nil), // 1: buildr.rpc.v1.TaskExample
@ -767,38 +886,45 @@ var file_wasi_v1_wasi_proto_goTypes = []interface{}{
(*PluginInventoryRequest)(nil), // 3: buildr.rpc.v1.PluginInventoryRequest (*PluginInventoryRequest)(nil), // 3: buildr.rpc.v1.PluginInventoryRequest
(*PluginInventoryResponse)(nil), // 4: buildr.rpc.v1.PluginInventoryResponse (*PluginInventoryResponse)(nil), // 4: buildr.rpc.v1.PluginInventoryResponse
(*StartTaskResponse)(nil), // 5: buildr.rpc.v1.StartTaskResponse (*StartTaskResponse)(nil), // 5: buildr.rpc.v1.StartTaskResponse
(*ProcessStartRequest)(nil), // 6: buildr.rpc.v1.ProcessStartRequest (*BinaryNameRequest)(nil), // 6: buildr.rpc.v1.BinaryNameRequest
(*ProcessStartResponse)(nil), // 7: buildr.rpc.v1.ProcessStartResponse (*BinaryNameResponse)(nil), // 7: buildr.rpc.v1.BinaryNameResponse
(*LookupPathRequest)(nil), // 8: buildr.rpc.v1.LookupPathRequest (*ProcessStartRequest)(nil), // 8: buildr.rpc.v1.ProcessStartRequest
(*LookupPathResponse)(nil), // 9: buildr.rpc.v1.LookupPathResponse (*ProcessStartResponse)(nil), // 9: buildr.rpc.v1.ProcessStartResponse
(*PluginInventoryResponse_InventorySpec)(nil), // 10: buildr.rpc.v1.PluginInventoryResponse.InventorySpec (*LookupPathRequest)(nil), // 10: buildr.rpc.v1.LookupPathRequest
nil, // 11: buildr.rpc.v1.ProcessStartRequest.EnvironmentEntry (*LookupPathResponse)(nil), // 11: buildr.rpc.v1.LookupPathResponse
(*v1.ModuleReference)(nil), // 12: buildr.rpc.v1.ModuleReference (*PluginInventoryResponse_InventorySpec)(nil), // 12: buildr.rpc.v1.PluginInventoryResponse.InventorySpec
(*v1.TaskSpec)(nil), // 13: buildr.rpc.v1.TaskSpec nil, // 13: buildr.rpc.v1.ProcessStartRequest.EnvironmentEntry
(*v11.StartTaskRequest)(nil), // 14: buildr.rpc.v1.StartTaskRequest (*v1.ModuleReference)(nil), // 14: buildr.rpc.v1.ModuleReference
(*v1.TaskSpec)(nil), // 15: buildr.rpc.v1.TaskSpec
(*v1.ModuleSpec)(nil), // 16: buildr.rpc.v1.ModuleSpec
(*v11.StartTaskRequest)(nil), // 17: buildr.rpc.v1.StartTaskRequest
} }
var file_wasi_v1_wasi_proto_depIdxs = []int32{ var file_wasi_v1_wasi_proto_depIdxs = []int32{
12, // 0: buildr.rpc.v1.HelpRequest.module_reference:type_name -> buildr.rpc.v1.ModuleReference 14, // 0: buildr.rpc.v1.HelpRequest.module_reference:type_name -> buildr.rpc.v1.ModuleReference
13, // 1: buildr.rpc.v1.TaskExample.task_spec:type_name -> buildr.rpc.v1.TaskSpec 15, // 1: buildr.rpc.v1.TaskExample.task_spec:type_name -> buildr.rpc.v1.TaskSpec
1, // 2: buildr.rpc.v1.HelpResponse.examples:type_name -> buildr.rpc.v1.TaskExample 1, // 2: buildr.rpc.v1.HelpResponse.examples:type_name -> buildr.rpc.v1.TaskExample
10, // 3: buildr.rpc.v1.PluginInventoryResponse.specs:type_name -> buildr.rpc.v1.PluginInventoryResponse.InventorySpec 12, // 3: buildr.rpc.v1.PluginInventoryResponse.specs:type_name -> buildr.rpc.v1.PluginInventoryResponse.InventorySpec
11, // 4: buildr.rpc.v1.ProcessStartRequest.environment:type_name -> buildr.rpc.v1.ProcessStartRequest.EnvironmentEntry 14, // 4: buildr.rpc.v1.BinaryNameRequest.module_reference:type_name -> buildr.rpc.v1.ModuleReference
12, // 5: buildr.rpc.v1.PluginInventoryResponse.InventorySpec.module_ref:type_name -> buildr.rpc.v1.ModuleReference 16, // 5: buildr.rpc.v1.BinaryNameRequest.spec:type_name -> buildr.rpc.v1.ModuleSpec
3, // 6: buildr.rpc.v1.WasiExecutorService.PluginInventory:input_type -> buildr.rpc.v1.PluginInventoryRequest 13, // 6: buildr.rpc.v1.ProcessStartRequest.environment:type_name -> buildr.rpc.v1.ProcessStartRequest.EnvironmentEntry
14, // 7: buildr.rpc.v1.WasiExecutorService.StartTask:input_type -> buildr.rpc.v1.StartTaskRequest 14, // 7: buildr.rpc.v1.PluginInventoryResponse.InventorySpec.module_ref:type_name -> buildr.rpc.v1.ModuleReference
0, // 8: buildr.rpc.v1.WasiExecutorService.Help:input_type -> buildr.rpc.v1.HelpRequest 3, // 8: buildr.rpc.v1.WasiExecutorService.PluginInventory:input_type -> buildr.rpc.v1.PluginInventoryRequest
6, // 9: buildr.rpc.v1.ExecutorHostService.ProcessStart:input_type -> buildr.rpc.v1.ProcessStartRequest 17, // 9: buildr.rpc.v1.WasiExecutorService.StartTask:input_type -> buildr.rpc.v1.StartTaskRequest
8, // 10: buildr.rpc.v1.ExecutorHostService.LookupPath:input_type -> buildr.rpc.v1.LookupPathRequest 0, // 10: buildr.rpc.v1.WasiExecutorService.Help:input_type -> buildr.rpc.v1.HelpRequest
4, // 11: buildr.rpc.v1.WasiExecutorService.PluginInventory:output_type -> buildr.rpc.v1.PluginInventoryResponse 6, // 11: buildr.rpc.v1.WasiExecutorService.BinaryName:input_type -> buildr.rpc.v1.BinaryNameRequest
5, // 12: buildr.rpc.v1.WasiExecutorService.StartTask:output_type -> buildr.rpc.v1.StartTaskResponse 8, // 12: buildr.rpc.v1.ExecutorHostService.ProcessStart:input_type -> buildr.rpc.v1.ProcessStartRequest
2, // 13: buildr.rpc.v1.WasiExecutorService.Help:output_type -> buildr.rpc.v1.HelpResponse 10, // 13: buildr.rpc.v1.ExecutorHostService.LookupPath:input_type -> buildr.rpc.v1.LookupPathRequest
7, // 14: buildr.rpc.v1.ExecutorHostService.ProcessStart:output_type -> buildr.rpc.v1.ProcessStartResponse 4, // 14: buildr.rpc.v1.WasiExecutorService.PluginInventory:output_type -> buildr.rpc.v1.PluginInventoryResponse
9, // 15: buildr.rpc.v1.ExecutorHostService.LookupPath:output_type -> buildr.rpc.v1.LookupPathResponse 5, // 15: buildr.rpc.v1.WasiExecutorService.StartTask:output_type -> buildr.rpc.v1.StartTaskResponse
11, // [11:16] is the sub-list for method output_type 2, // 16: buildr.rpc.v1.WasiExecutorService.Help:output_type -> buildr.rpc.v1.HelpResponse
6, // [6:11] is the sub-list for method input_type 7, // 17: buildr.rpc.v1.WasiExecutorService.BinaryName:output_type -> buildr.rpc.v1.BinaryNameResponse
6, // [6:6] is the sub-list for extension type_name 9, // 18: buildr.rpc.v1.ExecutorHostService.ProcessStart:output_type -> buildr.rpc.v1.ProcessStartResponse
6, // [6:6] is the sub-list for extension extendee 11, // 19: buildr.rpc.v1.ExecutorHostService.LookupPath:output_type -> buildr.rpc.v1.LookupPathResponse
0, // [0:6] is the sub-list for field type_name 14, // [14:20] is the sub-list for method output_type
8, // [8:14] is the sub-list for method input_type
8, // [8:8] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension extendee
0, // [0:8] is the sub-list for field type_name
} }
func init() { file_wasi_v1_wasi_proto_init() } func init() { file_wasi_v1_wasi_proto_init() }
@ -880,7 +1006,7 @@ func file_wasi_v1_wasi_proto_init() {
} }
} }
file_wasi_v1_wasi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { file_wasi_v1_wasi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProcessStartRequest); i { switch v := v.(*BinaryNameRequest); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -892,7 +1018,7 @@ func file_wasi_v1_wasi_proto_init() {
} }
} }
file_wasi_v1_wasi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { file_wasi_v1_wasi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProcessStartResponse); i { switch v := v.(*BinaryNameResponse); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -904,7 +1030,7 @@ func file_wasi_v1_wasi_proto_init() {
} }
} }
file_wasi_v1_wasi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { file_wasi_v1_wasi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LookupPathRequest); i { switch v := v.(*ProcessStartRequest); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -916,7 +1042,7 @@ func file_wasi_v1_wasi_proto_init() {
} }
} }
file_wasi_v1_wasi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { file_wasi_v1_wasi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LookupPathResponse); i { switch v := v.(*ProcessStartResponse); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -928,6 +1054,30 @@ func file_wasi_v1_wasi_proto_init() {
} }
} }
file_wasi_v1_wasi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { file_wasi_v1_wasi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LookupPathRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_wasi_v1_wasi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LookupPathResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_wasi_v1_wasi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PluginInventoryResponse_InventorySpec); i { switch v := v.(*PluginInventoryResponse_InventorySpec); i {
case 0: case 0:
return &v.state return &v.state
@ -946,7 +1096,7 @@ func file_wasi_v1_wasi_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_wasi_v1_wasi_proto_rawDesc, RawDescriptor: file_wasi_v1_wasi_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 12, NumMessages: 14,
NumExtensions: 0, NumExtensions: 0,
NumServices: 2, NumServices: 2,
}, },

View file

@ -346,6 +346,99 @@ func (m *StartTaskResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return len(dAtA) - i, nil return len(dAtA) - i, nil
} }
func (m *BinaryNameRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
size := m.SizeVT()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBufferVT(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *BinaryNameRequest) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
func (m *BinaryNameRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
i := len(dAtA)
_ = i
var l int
_ = l
if m.unknownFields != nil {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
if m.Spec != nil {
size, err := m.Spec.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if m.ModuleReference != nil {
size, err := m.ModuleReference.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func (m *BinaryNameResponse) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
size := m.SizeVT()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBufferVT(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *BinaryNameResponse) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
func (m *BinaryNameResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
i := len(dAtA)
_ = i
var l int
_ = l
if m.unknownFields != nil {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
i = encodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func (m *ProcessStartRequest) MarshalVT() (dAtA []byte, err error) { func (m *ProcessStartRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil { if m == nil {
return nil, nil return nil, nil
@ -696,6 +789,38 @@ func (m *StartTaskResponse) SizeVT() (n int) {
return n return n
} }
func (m *BinaryNameRequest) SizeVT() (n int) {
if m == nil {
return 0
}
var l int
_ = l
if m.ModuleReference != nil {
l = m.ModuleReference.SizeVT()
n += 1 + l + sov(uint64(l))
}
if m.Spec != nil {
l = m.Spec.SizeVT()
n += 1 + l + sov(uint64(l))
}
n += len(m.unknownFields)
return n
}
func (m *BinaryNameResponse) SizeVT() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.Name)
if l > 0 {
n += 1 + l + sov(uint64(l))
}
n += len(m.unknownFields)
return n
}
func (m *ProcessStartRequest) SizeVT() (n int) { func (m *ProcessStartRequest) SizeVT() (n int) {
if m == nil { if m == nil {
return 0 return 0
@ -1518,6 +1643,212 @@ func (m *StartTaskResponse) UnmarshalVT(dAtA []byte) error {
} }
return nil return nil
} }
func (m *BinaryNameRequest) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: BinaryNameRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: BinaryNameRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ModuleReference", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.ModuleReference == nil {
m.ModuleReference = &v1.ModuleReference{}
}
if err := m.ModuleReference.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Spec == nil {
m.Spec = &v1.ModuleSpec{}
}
if err := m.Spec.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *BinaryNameResponse) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: BinaryNameResponse: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: BinaryNameResponse: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *ProcessStartRequest) UnmarshalVT(dAtA []byte) error { func (m *ProcessStartRequest) UnmarshalVT(dAtA []byte) error {
l := len(dAtA) l := len(dAtA)
iNdEx := 0 iNdEx := 0

View file

@ -37,10 +37,20 @@ message StartTaskResponse {
string error = 1; string error = 1;
} }
message BinaryNameRequest {
ModuleReference module_reference = 1;
ModuleSpec spec = 2;
}
message BinaryNameResponse {
string name = 1;
}
service WasiExecutorService { service WasiExecutorService {
rpc PluginInventory(PluginInventoryRequest) returns (PluginInventoryResponse); rpc PluginInventory(PluginInventoryRequest) returns (PluginInventoryResponse);
rpc StartTask(StartTaskRequest) returns (StartTaskResponse); rpc StartTask(StartTaskRequest) returns (StartTaskResponse);
rpc Help(HelpRequest) returns (HelpResponse); rpc Help(HelpRequest) returns (HelpResponse);
rpc BinaryName(BinaryNameRequest) returns (BinaryNameResponse);
} }
message ProcessStartRequest { message ProcessStartRequest {