// Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: v1/service.proto package v1 import ( context "context" types "github.com/garethgeorge/restora/gen/go/types" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" emptypb "google.golang.org/protobuf/types/known/emptypb" ) // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 const ( Restora_GetConfig_FullMethodName = "/v1.Restora/GetConfig" Restora_SetConfig_FullMethodName = "/v1.Restora/SetConfig" Restora_AddRepo_FullMethodName = "/v1.Restora/AddRepo" Restora_GetOperationEvents_FullMethodName = "/v1.Restora/GetOperationEvents" Restora_GetOperations_FullMethodName = "/v1.Restora/GetOperations" Restora_ListSnapshots_FullMethodName = "/v1.Restora/ListSnapshots" Restora_ListSnapshotFiles_FullMethodName = "/v1.Restora/ListSnapshotFiles" Restora_Backup_FullMethodName = "/v1.Restora/Backup" Restora_Prune_FullMethodName = "/v1.Restora/Prune" Restora_Forget_FullMethodName = "/v1.Restora/Forget" Restora_Restore_FullMethodName = "/v1.Restora/Restore" Restora_Unlock_FullMethodName = "/v1.Restora/Unlock" Restora_Cancel_FullMethodName = "/v1.Restora/Cancel" Restora_PathAutocomplete_FullMethodName = "/v1.Restora/PathAutocomplete" ) // RestoraClient is the client API for Restora service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type RestoraClient interface { GetConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Config, error) SetConfig(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) AddRepo(ctx context.Context, in *Repo, opts ...grpc.CallOption) (*Config, error) GetOperationEvents(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (Restora_GetOperationEventsClient, error) GetOperations(ctx context.Context, in *GetOperationsRequest, opts ...grpc.CallOption) (*OperationList, error) ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ResticSnapshotList, error) ListSnapshotFiles(ctx context.Context, in *ListSnapshotFilesRequest, opts ...grpc.CallOption) (*ListSnapshotFilesResponse, error) // Backup schedules a backup operation. It accepts a plan id and returns empty if the task is enqueued. Backup(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) // Prune schedules a prune operation. Prune(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) // Forget schedules a forget operation. Forget(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) // Restore schedules a restore operation. Restore(ctx context.Context, in *RestoreSnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Unlock synchronously attempts to unlock the repo. Will block if other operations are in progress. Unlock(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) // Cancel attempts to cancel a task with the given operation ID. Not guaranteed to succeed. Cancel(ctx context.Context, in *types.Int64Value, opts ...grpc.CallOption) (*emptypb.Empty, error) // PathAutocomplete provides path autocompletion options for a given filesystem path. PathAutocomplete(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*types.StringList, error) } type restoraClient struct { cc grpc.ClientConnInterface } func NewRestoraClient(cc grpc.ClientConnInterface) RestoraClient { return &restoraClient{cc} } func (c *restoraClient) GetConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Config, error) { out := new(Config) err := c.cc.Invoke(ctx, Restora_GetConfig_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) SetConfig(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) { out := new(Config) err := c.cc.Invoke(ctx, Restora_SetConfig_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) AddRepo(ctx context.Context, in *Repo, opts ...grpc.CallOption) (*Config, error) { out := new(Config) err := c.cc.Invoke(ctx, Restora_AddRepo_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) GetOperationEvents(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (Restora_GetOperationEventsClient, error) { stream, err := c.cc.NewStream(ctx, &Restora_ServiceDesc.Streams[0], Restora_GetOperationEvents_FullMethodName, opts...) if err != nil { return nil, err } x := &restoraGetOperationEventsClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } if err := x.ClientStream.CloseSend(); err != nil { return nil, err } return x, nil } type Restora_GetOperationEventsClient interface { Recv() (*OperationEvent, error) grpc.ClientStream } type restoraGetOperationEventsClient struct { grpc.ClientStream } func (x *restoraGetOperationEventsClient) Recv() (*OperationEvent, error) { m := new(OperationEvent) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *restoraClient) GetOperations(ctx context.Context, in *GetOperationsRequest, opts ...grpc.CallOption) (*OperationList, error) { out := new(OperationList) err := c.cc.Invoke(ctx, Restora_GetOperations_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ResticSnapshotList, error) { out := new(ResticSnapshotList) err := c.cc.Invoke(ctx, Restora_ListSnapshots_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) ListSnapshotFiles(ctx context.Context, in *ListSnapshotFilesRequest, opts ...grpc.CallOption) (*ListSnapshotFilesResponse, error) { out := new(ListSnapshotFilesResponse) err := c.cc.Invoke(ctx, Restora_ListSnapshotFiles_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) Backup(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, Restora_Backup_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) Prune(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, Restora_Prune_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) Forget(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, Restora_Forget_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) Restore(ctx context.Context, in *RestoreSnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, Restora_Restore_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) Unlock(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, Restora_Unlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) Cancel(ctx context.Context, in *types.Int64Value, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, Restora_Cancel_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *restoraClient) PathAutocomplete(ctx context.Context, in *types.StringValue, opts ...grpc.CallOption) (*types.StringList, error) { out := new(types.StringList) err := c.cc.Invoke(ctx, Restora_PathAutocomplete_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } // RestoraServer is the server API for Restora service. // All implementations must embed UnimplementedRestoraServer // for forward compatibility type RestoraServer interface { GetConfig(context.Context, *emptypb.Empty) (*Config, error) SetConfig(context.Context, *Config) (*Config, error) AddRepo(context.Context, *Repo) (*Config, error) GetOperationEvents(*emptypb.Empty, Restora_GetOperationEventsServer) error GetOperations(context.Context, *GetOperationsRequest) (*OperationList, error) ListSnapshots(context.Context, *ListSnapshotsRequest) (*ResticSnapshotList, error) ListSnapshotFiles(context.Context, *ListSnapshotFilesRequest) (*ListSnapshotFilesResponse, error) // Backup schedules a backup operation. It accepts a plan id and returns empty if the task is enqueued. Backup(context.Context, *types.StringValue) (*emptypb.Empty, error) // Prune schedules a prune operation. Prune(context.Context, *types.StringValue) (*emptypb.Empty, error) // Forget schedules a forget operation. Forget(context.Context, *types.StringValue) (*emptypb.Empty, error) // Restore schedules a restore operation. Restore(context.Context, *RestoreSnapshotRequest) (*emptypb.Empty, error) // Unlock synchronously attempts to unlock the repo. Will block if other operations are in progress. Unlock(context.Context, *types.StringValue) (*emptypb.Empty, error) // Cancel attempts to cancel a task with the given operation ID. Not guaranteed to succeed. Cancel(context.Context, *types.Int64Value) (*emptypb.Empty, error) // PathAutocomplete provides path autocompletion options for a given filesystem path. PathAutocomplete(context.Context, *types.StringValue) (*types.StringList, error) mustEmbedUnimplementedRestoraServer() } // UnimplementedRestoraServer must be embedded to have forward compatible implementations. type UnimplementedRestoraServer struct { } func (UnimplementedRestoraServer) GetConfig(context.Context, *emptypb.Empty) (*Config, error) { return nil, status.Errorf(codes.Unimplemented, "method GetConfig not implemented") } func (UnimplementedRestoraServer) SetConfig(context.Context, *Config) (*Config, error) { return nil, status.Errorf(codes.Unimplemented, "method SetConfig not implemented") } func (UnimplementedRestoraServer) AddRepo(context.Context, *Repo) (*Config, error) { return nil, status.Errorf(codes.Unimplemented, "method AddRepo not implemented") } func (UnimplementedRestoraServer) GetOperationEvents(*emptypb.Empty, Restora_GetOperationEventsServer) error { return status.Errorf(codes.Unimplemented, "method GetOperationEvents not implemented") } func (UnimplementedRestoraServer) GetOperations(context.Context, *GetOperationsRequest) (*OperationList, error) { return nil, status.Errorf(codes.Unimplemented, "method GetOperations not implemented") } func (UnimplementedRestoraServer) ListSnapshots(context.Context, *ListSnapshotsRequest) (*ResticSnapshotList, error) { return nil, status.Errorf(codes.Unimplemented, "method ListSnapshots not implemented") } func (UnimplementedRestoraServer) ListSnapshotFiles(context.Context, *ListSnapshotFilesRequest) (*ListSnapshotFilesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListSnapshotFiles not implemented") } func (UnimplementedRestoraServer) Backup(context.Context, *types.StringValue) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Backup not implemented") } func (UnimplementedRestoraServer) Prune(context.Context, *types.StringValue) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Prune not implemented") } func (UnimplementedRestoraServer) Forget(context.Context, *types.StringValue) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Forget not implemented") } func (UnimplementedRestoraServer) Restore(context.Context, *RestoreSnapshotRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Restore not implemented") } func (UnimplementedRestoraServer) Unlock(context.Context, *types.StringValue) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Unlock not implemented") } func (UnimplementedRestoraServer) Cancel(context.Context, *types.Int64Value) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Cancel not implemented") } func (UnimplementedRestoraServer) PathAutocomplete(context.Context, *types.StringValue) (*types.StringList, error) { return nil, status.Errorf(codes.Unimplemented, "method PathAutocomplete not implemented") } func (UnimplementedRestoraServer) mustEmbedUnimplementedRestoraServer() {} // UnsafeRestoraServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to RestoraServer will // result in compilation errors. type UnsafeRestoraServer interface { mustEmbedUnimplementedRestoraServer() } func RegisterRestoraServer(s grpc.ServiceRegistrar, srv RestoraServer) { s.RegisterService(&Restora_ServiceDesc, srv) } func _Restora_GetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).GetConfig(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_GetConfig_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).GetConfig(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } func _Restora_SetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Config) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).SetConfig(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_SetConfig_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).SetConfig(ctx, req.(*Config)) } return interceptor(ctx, in, info, handler) } func _Restora_AddRepo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Repo) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).AddRepo(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_AddRepo_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).AddRepo(ctx, req.(*Repo)) } return interceptor(ctx, in, info, handler) } func _Restora_GetOperationEvents_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(emptypb.Empty) if err := stream.RecvMsg(m); err != nil { return err } return srv.(RestoraServer).GetOperationEvents(m, &restoraGetOperationEventsServer{stream}) } type Restora_GetOperationEventsServer interface { Send(*OperationEvent) error grpc.ServerStream } type restoraGetOperationEventsServer struct { grpc.ServerStream } func (x *restoraGetOperationEventsServer) Send(m *OperationEvent) error { return x.ServerStream.SendMsg(m) } func _Restora_GetOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetOperationsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).GetOperations(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_GetOperations_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).GetOperations(ctx, req.(*GetOperationsRequest)) } return interceptor(ctx, in, info, handler) } func _Restora_ListSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListSnapshotsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).ListSnapshots(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_ListSnapshots_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).ListSnapshots(ctx, req.(*ListSnapshotsRequest)) } return interceptor(ctx, in, info, handler) } func _Restora_ListSnapshotFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListSnapshotFilesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).ListSnapshotFiles(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_ListSnapshotFiles_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).ListSnapshotFiles(ctx, req.(*ListSnapshotFilesRequest)) } return interceptor(ctx, in, info, handler) } func _Restora_Backup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(types.StringValue) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).Backup(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_Backup_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).Backup(ctx, req.(*types.StringValue)) } return interceptor(ctx, in, info, handler) } func _Restora_Prune_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(types.StringValue) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).Prune(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_Prune_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).Prune(ctx, req.(*types.StringValue)) } return interceptor(ctx, in, info, handler) } func _Restora_Forget_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(types.StringValue) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).Forget(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_Forget_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).Forget(ctx, req.(*types.StringValue)) } return interceptor(ctx, in, info, handler) } func _Restora_Restore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RestoreSnapshotRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).Restore(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_Restore_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).Restore(ctx, req.(*RestoreSnapshotRequest)) } return interceptor(ctx, in, info, handler) } func _Restora_Unlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(types.StringValue) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).Unlock(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_Unlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).Unlock(ctx, req.(*types.StringValue)) } return interceptor(ctx, in, info, handler) } func _Restora_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(types.Int64Value) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).Cancel(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_Cancel_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).Cancel(ctx, req.(*types.Int64Value)) } return interceptor(ctx, in, info, handler) } func _Restora_PathAutocomplete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(types.StringValue) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RestoraServer).PathAutocomplete(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: Restora_PathAutocomplete_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RestoraServer).PathAutocomplete(ctx, req.(*types.StringValue)) } return interceptor(ctx, in, info, handler) } // Restora_ServiceDesc is the grpc.ServiceDesc for Restora service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var Restora_ServiceDesc = grpc.ServiceDesc{ ServiceName: "v1.Restora", HandlerType: (*RestoraServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "GetConfig", Handler: _Restora_GetConfig_Handler, }, { MethodName: "SetConfig", Handler: _Restora_SetConfig_Handler, }, { MethodName: "AddRepo", Handler: _Restora_AddRepo_Handler, }, { MethodName: "GetOperations", Handler: _Restora_GetOperations_Handler, }, { MethodName: "ListSnapshots", Handler: _Restora_ListSnapshots_Handler, }, { MethodName: "ListSnapshotFiles", Handler: _Restora_ListSnapshotFiles_Handler, }, { MethodName: "Backup", Handler: _Restora_Backup_Handler, }, { MethodName: "Prune", Handler: _Restora_Prune_Handler, }, { MethodName: "Forget", Handler: _Restora_Forget_Handler, }, { MethodName: "Restore", Handler: _Restora_Restore_Handler, }, { MethodName: "Unlock", Handler: _Restora_Unlock_Handler, }, { MethodName: "Cancel", Handler: _Restora_Cancel_Handler, }, { MethodName: "PathAutocomplete", Handler: _Restora_PathAutocomplete_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "GetOperationEvents", Handler: _Restora_GetOperationEvents_Handler, ServerStreams: true, }, }, Metadata: "v1/service.proto", }