You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							1824 lines
						
					
					
						
							72 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							1824 lines
						
					
					
						
							72 KiB
						
					
					
				
								// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
							 | 
						|
								
							 | 
						|
								package volume_server_pb
							 | 
						|
								
							 | 
						|
								import (
							 | 
						|
									context "context"
							 | 
						|
									grpc "google.golang.org/grpc"
							 | 
						|
									codes "google.golang.org/grpc/codes"
							 | 
						|
									status "google.golang.org/grpc/status"
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								// 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
							 | 
						|
								
							 | 
						|
								// VolumeServerClient is the client API for VolumeServer 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 VolumeServerClient interface {
							 | 
						|
									//Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas.
							 | 
						|
									BatchDelete(ctx context.Context, in *BatchDeleteRequest, opts ...grpc.CallOption) (*BatchDeleteResponse, error)
							 | 
						|
									VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error)
							 | 
						|
									VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (VolumeServer_VacuumVolumeCompactClient, error)
							 | 
						|
									VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error)
							 | 
						|
									VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error)
							 | 
						|
									DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error)
							 | 
						|
									AllocateVolume(ctx context.Context, in *AllocateVolumeRequest, opts ...grpc.CallOption) (*AllocateVolumeResponse, error)
							 | 
						|
									VolumeSyncStatus(ctx context.Context, in *VolumeSyncStatusRequest, opts ...grpc.CallOption) (*VolumeSyncStatusResponse, error)
							 | 
						|
									VolumeIncrementalCopy(ctx context.Context, in *VolumeIncrementalCopyRequest, opts ...grpc.CallOption) (VolumeServer_VolumeIncrementalCopyClient, error)
							 | 
						|
									VolumeMount(ctx context.Context, in *VolumeMountRequest, opts ...grpc.CallOption) (*VolumeMountResponse, error)
							 | 
						|
									VolumeUnmount(ctx context.Context, in *VolumeUnmountRequest, opts ...grpc.CallOption) (*VolumeUnmountResponse, error)
							 | 
						|
									VolumeDelete(ctx context.Context, in *VolumeDeleteRequest, opts ...grpc.CallOption) (*VolumeDeleteResponse, error)
							 | 
						|
									VolumeMarkReadonly(ctx context.Context, in *VolumeMarkReadonlyRequest, opts ...grpc.CallOption) (*VolumeMarkReadonlyResponse, error)
							 | 
						|
									VolumeMarkWritable(ctx context.Context, in *VolumeMarkWritableRequest, opts ...grpc.CallOption) (*VolumeMarkWritableResponse, error)
							 | 
						|
									VolumeConfigure(ctx context.Context, in *VolumeConfigureRequest, opts ...grpc.CallOption) (*VolumeConfigureResponse, error)
							 | 
						|
									VolumeStatus(ctx context.Context, in *VolumeStatusRequest, opts ...grpc.CallOption) (*VolumeStatusResponse, error)
							 | 
						|
									// copy the .idx .dat files, and mount this volume
							 | 
						|
									VolumeCopy(ctx context.Context, in *VolumeCopyRequest, opts ...grpc.CallOption) (VolumeServer_VolumeCopyClient, error)
							 | 
						|
									ReadVolumeFileStatus(ctx context.Context, in *ReadVolumeFileStatusRequest, opts ...grpc.CallOption) (*ReadVolumeFileStatusResponse, error)
							 | 
						|
									CopyFile(ctx context.Context, in *CopyFileRequest, opts ...grpc.CallOption) (VolumeServer_CopyFileClient, error)
							 | 
						|
									ReadNeedleBlob(ctx context.Context, in *ReadNeedleBlobRequest, opts ...grpc.CallOption) (*ReadNeedleBlobResponse, error)
							 | 
						|
									WriteNeedleBlob(ctx context.Context, in *WriteNeedleBlobRequest, opts ...grpc.CallOption) (*WriteNeedleBlobResponse, error)
							 | 
						|
									ReadAllNeedles(ctx context.Context, in *ReadAllNeedlesRequest, opts ...grpc.CallOption) (VolumeServer_ReadAllNeedlesClient, error)
							 | 
						|
									VolumeTailSender(ctx context.Context, in *VolumeTailSenderRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTailSenderClient, error)
							 | 
						|
									VolumeTailReceiver(ctx context.Context, in *VolumeTailReceiverRequest, opts ...grpc.CallOption) (*VolumeTailReceiverResponse, error)
							 | 
						|
									// erasure coding
							 | 
						|
									VolumeEcShardsGenerate(ctx context.Context, in *VolumeEcShardsGenerateRequest, opts ...grpc.CallOption) (*VolumeEcShardsGenerateResponse, error)
							 | 
						|
									VolumeEcShardsRebuild(ctx context.Context, in *VolumeEcShardsRebuildRequest, opts ...grpc.CallOption) (*VolumeEcShardsRebuildResponse, error)
							 | 
						|
									VolumeEcShardsCopy(ctx context.Context, in *VolumeEcShardsCopyRequest, opts ...grpc.CallOption) (*VolumeEcShardsCopyResponse, error)
							 | 
						|
									VolumeEcShardsDelete(ctx context.Context, in *VolumeEcShardsDeleteRequest, opts ...grpc.CallOption) (*VolumeEcShardsDeleteResponse, error)
							 | 
						|
									VolumeEcShardsMount(ctx context.Context, in *VolumeEcShardsMountRequest, opts ...grpc.CallOption) (*VolumeEcShardsMountResponse, error)
							 | 
						|
									VolumeEcShardsUnmount(ctx context.Context, in *VolumeEcShardsUnmountRequest, opts ...grpc.CallOption) (*VolumeEcShardsUnmountResponse, error)
							 | 
						|
									VolumeEcShardRead(ctx context.Context, in *VolumeEcShardReadRequest, opts ...grpc.CallOption) (VolumeServer_VolumeEcShardReadClient, error)
							 | 
						|
									VolumeEcBlobDelete(ctx context.Context, in *VolumeEcBlobDeleteRequest, opts ...grpc.CallOption) (*VolumeEcBlobDeleteResponse, error)
							 | 
						|
									VolumeEcShardsToVolume(ctx context.Context, in *VolumeEcShardsToVolumeRequest, opts ...grpc.CallOption) (*VolumeEcShardsToVolumeResponse, error)
							 | 
						|
									// tiered storage
							 | 
						|
									VolumeTierMoveDatToRemote(ctx context.Context, in *VolumeTierMoveDatToRemoteRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTierMoveDatToRemoteClient, error)
							 | 
						|
									VolumeTierMoveDatFromRemote(ctx context.Context, in *VolumeTierMoveDatFromRemoteRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTierMoveDatFromRemoteClient, error)
							 | 
						|
									VolumeServerStatus(ctx context.Context, in *VolumeServerStatusRequest, opts ...grpc.CallOption) (*VolumeServerStatusResponse, error)
							 | 
						|
									VolumeServerLeave(ctx context.Context, in *VolumeServerLeaveRequest, opts ...grpc.CallOption) (*VolumeServerLeaveResponse, error)
							 | 
						|
									// remote storage
							 | 
						|
									FetchAndWriteNeedle(ctx context.Context, in *FetchAndWriteNeedleRequest, opts ...grpc.CallOption) (*FetchAndWriteNeedleResponse, error)
							 | 
						|
									// <experimental> query
							 | 
						|
									Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (VolumeServer_QueryClient, error)
							 | 
						|
									VolumeNeedleStatus(ctx context.Context, in *VolumeNeedleStatusRequest, opts ...grpc.CallOption) (*VolumeNeedleStatusResponse, error)
							 | 
						|
									Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerClient struct {
							 | 
						|
									cc grpc.ClientConnInterface
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func NewVolumeServerClient(cc grpc.ClientConnInterface) VolumeServerClient {
							 | 
						|
									return &volumeServerClient{cc}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) BatchDelete(ctx context.Context, in *BatchDeleteRequest, opts ...grpc.CallOption) (*BatchDeleteResponse, error) {
							 | 
						|
									out := new(BatchDeleteResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/BatchDelete", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error) {
							 | 
						|
									out := new(VacuumVolumeCheckResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCheck", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (VolumeServer_VacuumVolumeCompactClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[0], "/volume_server_pb.VolumeServer/VacuumVolumeCompact", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerVacuumVolumeCompactClient{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 VolumeServer_VacuumVolumeCompactClient interface {
							 | 
						|
									Recv() (*VacuumVolumeCompactResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVacuumVolumeCompactClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVacuumVolumeCompactClient) Recv() (*VacuumVolumeCompactResponse, error) {
							 | 
						|
									m := new(VacuumVolumeCompactResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error) {
							 | 
						|
									out := new(VacuumVolumeCommitResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCommit", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error) {
							 | 
						|
									out := new(VacuumVolumeCleanupResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCleanup", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) {
							 | 
						|
									out := new(DeleteCollectionResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/DeleteCollection", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) AllocateVolume(ctx context.Context, in *AllocateVolumeRequest, opts ...grpc.CallOption) (*AllocateVolumeResponse, error) {
							 | 
						|
									out := new(AllocateVolumeResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/AllocateVolume", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeSyncStatus(ctx context.Context, in *VolumeSyncStatusRequest, opts ...grpc.CallOption) (*VolumeSyncStatusResponse, error) {
							 | 
						|
									out := new(VolumeSyncStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeSyncStatus", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeIncrementalCopy(ctx context.Context, in *VolumeIncrementalCopyRequest, opts ...grpc.CallOption) (VolumeServer_VolumeIncrementalCopyClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[1], "/volume_server_pb.VolumeServer/VolumeIncrementalCopy", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerVolumeIncrementalCopyClient{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 VolumeServer_VolumeIncrementalCopyClient interface {
							 | 
						|
									Recv() (*VolumeIncrementalCopyResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeIncrementalCopyClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeIncrementalCopyClient) Recv() (*VolumeIncrementalCopyResponse, error) {
							 | 
						|
									m := new(VolumeIncrementalCopyResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeMount(ctx context.Context, in *VolumeMountRequest, opts ...grpc.CallOption) (*VolumeMountResponse, error) {
							 | 
						|
									out := new(VolumeMountResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeMount", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeUnmount(ctx context.Context, in *VolumeUnmountRequest, opts ...grpc.CallOption) (*VolumeUnmountResponse, error) {
							 | 
						|
									out := new(VolumeUnmountResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeUnmount", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeDelete(ctx context.Context, in *VolumeDeleteRequest, opts ...grpc.CallOption) (*VolumeDeleteResponse, error) {
							 | 
						|
									out := new(VolumeDeleteResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeDelete", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeMarkReadonly(ctx context.Context, in *VolumeMarkReadonlyRequest, opts ...grpc.CallOption) (*VolumeMarkReadonlyResponse, error) {
							 | 
						|
									out := new(VolumeMarkReadonlyResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeMarkReadonly", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeMarkWritable(ctx context.Context, in *VolumeMarkWritableRequest, opts ...grpc.CallOption) (*VolumeMarkWritableResponse, error) {
							 | 
						|
									out := new(VolumeMarkWritableResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeMarkWritable", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeConfigure(ctx context.Context, in *VolumeConfigureRequest, opts ...grpc.CallOption) (*VolumeConfigureResponse, error) {
							 | 
						|
									out := new(VolumeConfigureResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeConfigure", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeStatus(ctx context.Context, in *VolumeStatusRequest, opts ...grpc.CallOption) (*VolumeStatusResponse, error) {
							 | 
						|
									out := new(VolumeStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeStatus", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeCopy(ctx context.Context, in *VolumeCopyRequest, opts ...grpc.CallOption) (VolumeServer_VolumeCopyClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[2], "/volume_server_pb.VolumeServer/VolumeCopy", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerVolumeCopyClient{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 VolumeServer_VolumeCopyClient interface {
							 | 
						|
									Recv() (*VolumeCopyResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeCopyClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeCopyClient) Recv() (*VolumeCopyResponse, error) {
							 | 
						|
									m := new(VolumeCopyResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) ReadVolumeFileStatus(ctx context.Context, in *ReadVolumeFileStatusRequest, opts ...grpc.CallOption) (*ReadVolumeFileStatusResponse, error) {
							 | 
						|
									out := new(ReadVolumeFileStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/ReadVolumeFileStatus", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) CopyFile(ctx context.Context, in *CopyFileRequest, opts ...grpc.CallOption) (VolumeServer_CopyFileClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[3], "/volume_server_pb.VolumeServer/CopyFile", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerCopyFileClient{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 VolumeServer_CopyFileClient interface {
							 | 
						|
									Recv() (*CopyFileResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerCopyFileClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerCopyFileClient) Recv() (*CopyFileResponse, error) {
							 | 
						|
									m := new(CopyFileResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) ReadNeedleBlob(ctx context.Context, in *ReadNeedleBlobRequest, opts ...grpc.CallOption) (*ReadNeedleBlobResponse, error) {
							 | 
						|
									out := new(ReadNeedleBlobResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/ReadNeedleBlob", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) WriteNeedleBlob(ctx context.Context, in *WriteNeedleBlobRequest, opts ...grpc.CallOption) (*WriteNeedleBlobResponse, error) {
							 | 
						|
									out := new(WriteNeedleBlobResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/WriteNeedleBlob", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) ReadAllNeedles(ctx context.Context, in *ReadAllNeedlesRequest, opts ...grpc.CallOption) (VolumeServer_ReadAllNeedlesClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[4], "/volume_server_pb.VolumeServer/ReadAllNeedles", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerReadAllNeedlesClient{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 VolumeServer_ReadAllNeedlesClient interface {
							 | 
						|
									Recv() (*ReadAllNeedlesResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerReadAllNeedlesClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerReadAllNeedlesClient) Recv() (*ReadAllNeedlesResponse, error) {
							 | 
						|
									m := new(ReadAllNeedlesResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeTailSender(ctx context.Context, in *VolumeTailSenderRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTailSenderClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[5], "/volume_server_pb.VolumeServer/VolumeTailSender", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerVolumeTailSenderClient{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 VolumeServer_VolumeTailSenderClient interface {
							 | 
						|
									Recv() (*VolumeTailSenderResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeTailSenderClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeTailSenderClient) Recv() (*VolumeTailSenderResponse, error) {
							 | 
						|
									m := new(VolumeTailSenderResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeTailReceiver(ctx context.Context, in *VolumeTailReceiverRequest, opts ...grpc.CallOption) (*VolumeTailReceiverResponse, error) {
							 | 
						|
									out := new(VolumeTailReceiverResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeTailReceiver", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsGenerate(ctx context.Context, in *VolumeEcShardsGenerateRequest, opts ...grpc.CallOption) (*VolumeEcShardsGenerateResponse, error) {
							 | 
						|
									out := new(VolumeEcShardsGenerateResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsGenerate", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsRebuild(ctx context.Context, in *VolumeEcShardsRebuildRequest, opts ...grpc.CallOption) (*VolumeEcShardsRebuildResponse, error) {
							 | 
						|
									out := new(VolumeEcShardsRebuildResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsRebuild", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsCopy(ctx context.Context, in *VolumeEcShardsCopyRequest, opts ...grpc.CallOption) (*VolumeEcShardsCopyResponse, error) {
							 | 
						|
									out := new(VolumeEcShardsCopyResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsCopy", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsDelete(ctx context.Context, in *VolumeEcShardsDeleteRequest, opts ...grpc.CallOption) (*VolumeEcShardsDeleteResponse, error) {
							 | 
						|
									out := new(VolumeEcShardsDeleteResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsDelete", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsMount(ctx context.Context, in *VolumeEcShardsMountRequest, opts ...grpc.CallOption) (*VolumeEcShardsMountResponse, error) {
							 | 
						|
									out := new(VolumeEcShardsMountResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsMount", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsUnmount(ctx context.Context, in *VolumeEcShardsUnmountRequest, opts ...grpc.CallOption) (*VolumeEcShardsUnmountResponse, error) {
							 | 
						|
									out := new(VolumeEcShardsUnmountResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsUnmount", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardRead(ctx context.Context, in *VolumeEcShardReadRequest, opts ...grpc.CallOption) (VolumeServer_VolumeEcShardReadClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[6], "/volume_server_pb.VolumeServer/VolumeEcShardRead", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerVolumeEcShardReadClient{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 VolumeServer_VolumeEcShardReadClient interface {
							 | 
						|
									Recv() (*VolumeEcShardReadResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeEcShardReadClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeEcShardReadClient) Recv() (*VolumeEcShardReadResponse, error) {
							 | 
						|
									m := new(VolumeEcShardReadResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcBlobDelete(ctx context.Context, in *VolumeEcBlobDeleteRequest, opts ...grpc.CallOption) (*VolumeEcBlobDeleteResponse, error) {
							 | 
						|
									out := new(VolumeEcBlobDeleteResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcBlobDelete", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsToVolume(ctx context.Context, in *VolumeEcShardsToVolumeRequest, opts ...grpc.CallOption) (*VolumeEcShardsToVolumeResponse, error) {
							 | 
						|
									out := new(VolumeEcShardsToVolumeResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeEcShardsToVolume", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeTierMoveDatToRemote(ctx context.Context, in *VolumeTierMoveDatToRemoteRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTierMoveDatToRemoteClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[7], "/volume_server_pb.VolumeServer/VolumeTierMoveDatToRemote", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerVolumeTierMoveDatToRemoteClient{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 VolumeServer_VolumeTierMoveDatToRemoteClient interface {
							 | 
						|
									Recv() (*VolumeTierMoveDatToRemoteResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeTierMoveDatToRemoteClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeTierMoveDatToRemoteClient) Recv() (*VolumeTierMoveDatToRemoteResponse, error) {
							 | 
						|
									m := new(VolumeTierMoveDatToRemoteResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeTierMoveDatFromRemote(ctx context.Context, in *VolumeTierMoveDatFromRemoteRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTierMoveDatFromRemoteClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[8], "/volume_server_pb.VolumeServer/VolumeTierMoveDatFromRemote", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerVolumeTierMoveDatFromRemoteClient{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 VolumeServer_VolumeTierMoveDatFromRemoteClient interface {
							 | 
						|
									Recv() (*VolumeTierMoveDatFromRemoteResponse, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeTierMoveDatFromRemoteClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeTierMoveDatFromRemoteClient) Recv() (*VolumeTierMoveDatFromRemoteResponse, error) {
							 | 
						|
									m := new(VolumeTierMoveDatFromRemoteResponse)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeServerStatus(ctx context.Context, in *VolumeServerStatusRequest, opts ...grpc.CallOption) (*VolumeServerStatusResponse, error) {
							 | 
						|
									out := new(VolumeServerStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeServerStatus", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeServerLeave(ctx context.Context, in *VolumeServerLeaveRequest, opts ...grpc.CallOption) (*VolumeServerLeaveResponse, error) {
							 | 
						|
									out := new(VolumeServerLeaveResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeServerLeave", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) FetchAndWriteNeedle(ctx context.Context, in *FetchAndWriteNeedleRequest, opts ...grpc.CallOption) (*FetchAndWriteNeedleResponse, error) {
							 | 
						|
									out := new(FetchAndWriteNeedleResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/FetchAndWriteNeedle", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (VolumeServer_QueryClient, error) {
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[9], "/volume_server_pb.VolumeServer/Query", opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &volumeServerQueryClient{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 VolumeServer_QueryClient interface {
							 | 
						|
									Recv() (*QueriedStripe, error)
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerQueryClient struct {
							 | 
						|
									grpc.ClientStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerQueryClient) Recv() (*QueriedStripe, error) {
							 | 
						|
									m := new(QueriedStripe)
							 | 
						|
									if err := x.ClientStream.RecvMsg(m); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return m, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeNeedleStatus(ctx context.Context, in *VolumeNeedleStatusRequest, opts ...grpc.CallOption) (*VolumeNeedleStatusResponse, error) {
							 | 
						|
									out := new(VolumeNeedleStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeNeedleStatus", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) {
							 | 
						|
									out := new(PingResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, "/volume_server_pb.VolumeServer/Ping", in, out, opts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// VolumeServerServer is the server API for VolumeServer service.
							 | 
						|
								// All implementations must embed UnimplementedVolumeServerServer
							 | 
						|
								// for forward compatibility
							 | 
						|
								type VolumeServerServer interface {
							 | 
						|
									//Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas.
							 | 
						|
									BatchDelete(context.Context, *BatchDeleteRequest) (*BatchDeleteResponse, error)
							 | 
						|
									VacuumVolumeCheck(context.Context, *VacuumVolumeCheckRequest) (*VacuumVolumeCheckResponse, error)
							 | 
						|
									VacuumVolumeCompact(*VacuumVolumeCompactRequest, VolumeServer_VacuumVolumeCompactServer) error
							 | 
						|
									VacuumVolumeCommit(context.Context, *VacuumVolumeCommitRequest) (*VacuumVolumeCommitResponse, error)
							 | 
						|
									VacuumVolumeCleanup(context.Context, *VacuumVolumeCleanupRequest) (*VacuumVolumeCleanupResponse, error)
							 | 
						|
									DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error)
							 | 
						|
									AllocateVolume(context.Context, *AllocateVolumeRequest) (*AllocateVolumeResponse, error)
							 | 
						|
									VolumeSyncStatus(context.Context, *VolumeSyncStatusRequest) (*VolumeSyncStatusResponse, error)
							 | 
						|
									VolumeIncrementalCopy(*VolumeIncrementalCopyRequest, VolumeServer_VolumeIncrementalCopyServer) error
							 | 
						|
									VolumeMount(context.Context, *VolumeMountRequest) (*VolumeMountResponse, error)
							 | 
						|
									VolumeUnmount(context.Context, *VolumeUnmountRequest) (*VolumeUnmountResponse, error)
							 | 
						|
									VolumeDelete(context.Context, *VolumeDeleteRequest) (*VolumeDeleteResponse, error)
							 | 
						|
									VolumeMarkReadonly(context.Context, *VolumeMarkReadonlyRequest) (*VolumeMarkReadonlyResponse, error)
							 | 
						|
									VolumeMarkWritable(context.Context, *VolumeMarkWritableRequest) (*VolumeMarkWritableResponse, error)
							 | 
						|
									VolumeConfigure(context.Context, *VolumeConfigureRequest) (*VolumeConfigureResponse, error)
							 | 
						|
									VolumeStatus(context.Context, *VolumeStatusRequest) (*VolumeStatusResponse, error)
							 | 
						|
									// copy the .idx .dat files, and mount this volume
							 | 
						|
									VolumeCopy(*VolumeCopyRequest, VolumeServer_VolumeCopyServer) error
							 | 
						|
									ReadVolumeFileStatus(context.Context, *ReadVolumeFileStatusRequest) (*ReadVolumeFileStatusResponse, error)
							 | 
						|
									CopyFile(*CopyFileRequest, VolumeServer_CopyFileServer) error
							 | 
						|
									ReadNeedleBlob(context.Context, *ReadNeedleBlobRequest) (*ReadNeedleBlobResponse, error)
							 | 
						|
									WriteNeedleBlob(context.Context, *WriteNeedleBlobRequest) (*WriteNeedleBlobResponse, error)
							 | 
						|
									ReadAllNeedles(*ReadAllNeedlesRequest, VolumeServer_ReadAllNeedlesServer) error
							 | 
						|
									VolumeTailSender(*VolumeTailSenderRequest, VolumeServer_VolumeTailSenderServer) error
							 | 
						|
									VolumeTailReceiver(context.Context, *VolumeTailReceiverRequest) (*VolumeTailReceiverResponse, error)
							 | 
						|
									// erasure coding
							 | 
						|
									VolumeEcShardsGenerate(context.Context, *VolumeEcShardsGenerateRequest) (*VolumeEcShardsGenerateResponse, error)
							 | 
						|
									VolumeEcShardsRebuild(context.Context, *VolumeEcShardsRebuildRequest) (*VolumeEcShardsRebuildResponse, error)
							 | 
						|
									VolumeEcShardsCopy(context.Context, *VolumeEcShardsCopyRequest) (*VolumeEcShardsCopyResponse, error)
							 | 
						|
									VolumeEcShardsDelete(context.Context, *VolumeEcShardsDeleteRequest) (*VolumeEcShardsDeleteResponse, error)
							 | 
						|
									VolumeEcShardsMount(context.Context, *VolumeEcShardsMountRequest) (*VolumeEcShardsMountResponse, error)
							 | 
						|
									VolumeEcShardsUnmount(context.Context, *VolumeEcShardsUnmountRequest) (*VolumeEcShardsUnmountResponse, error)
							 | 
						|
									VolumeEcShardRead(*VolumeEcShardReadRequest, VolumeServer_VolumeEcShardReadServer) error
							 | 
						|
									VolumeEcBlobDelete(context.Context, *VolumeEcBlobDeleteRequest) (*VolumeEcBlobDeleteResponse, error)
							 | 
						|
									VolumeEcShardsToVolume(context.Context, *VolumeEcShardsToVolumeRequest) (*VolumeEcShardsToVolumeResponse, error)
							 | 
						|
									// tiered storage
							 | 
						|
									VolumeTierMoveDatToRemote(*VolumeTierMoveDatToRemoteRequest, VolumeServer_VolumeTierMoveDatToRemoteServer) error
							 | 
						|
									VolumeTierMoveDatFromRemote(*VolumeTierMoveDatFromRemoteRequest, VolumeServer_VolumeTierMoveDatFromRemoteServer) error
							 | 
						|
									VolumeServerStatus(context.Context, *VolumeServerStatusRequest) (*VolumeServerStatusResponse, error)
							 | 
						|
									VolumeServerLeave(context.Context, *VolumeServerLeaveRequest) (*VolumeServerLeaveResponse, error)
							 | 
						|
									// remote storage
							 | 
						|
									FetchAndWriteNeedle(context.Context, *FetchAndWriteNeedleRequest) (*FetchAndWriteNeedleResponse, error)
							 | 
						|
									// <experimental> query
							 | 
						|
									Query(*QueryRequest, VolumeServer_QueryServer) error
							 | 
						|
									VolumeNeedleStatus(context.Context, *VolumeNeedleStatusRequest) (*VolumeNeedleStatusResponse, error)
							 | 
						|
									Ping(context.Context, *PingRequest) (*PingResponse, error)
							 | 
						|
									mustEmbedUnimplementedVolumeServerServer()
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// UnimplementedVolumeServerServer must be embedded to have forward compatible implementations.
							 | 
						|
								type UnimplementedVolumeServerServer struct {
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (UnimplementedVolumeServerServer) BatchDelete(context.Context, *BatchDeleteRequest) (*BatchDeleteResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method BatchDelete not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VacuumVolumeCheck(context.Context, *VacuumVolumeCheckRequest) (*VacuumVolumeCheckResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VacuumVolumeCheck not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VacuumVolumeCompact(*VacuumVolumeCompactRequest, VolumeServer_VacuumVolumeCompactServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method VacuumVolumeCompact not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VacuumVolumeCommit(context.Context, *VacuumVolumeCommitRequest) (*VacuumVolumeCommitResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VacuumVolumeCommit not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VacuumVolumeCleanup(context.Context, *VacuumVolumeCleanupRequest) (*VacuumVolumeCleanupResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VacuumVolumeCleanup not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method DeleteCollection not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) AllocateVolume(context.Context, *AllocateVolumeRequest) (*AllocateVolumeResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method AllocateVolume not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeSyncStatus(context.Context, *VolumeSyncStatusRequest) (*VolumeSyncStatusResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeSyncStatus not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeIncrementalCopy(*VolumeIncrementalCopyRequest, VolumeServer_VolumeIncrementalCopyServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method VolumeIncrementalCopy not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeMount(context.Context, *VolumeMountRequest) (*VolumeMountResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeMount not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeUnmount(context.Context, *VolumeUnmountRequest) (*VolumeUnmountResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeUnmount not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeDelete(context.Context, *VolumeDeleteRequest) (*VolumeDeleteResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeDelete not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeMarkReadonly(context.Context, *VolumeMarkReadonlyRequest) (*VolumeMarkReadonlyResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeMarkReadonly not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeMarkWritable(context.Context, *VolumeMarkWritableRequest) (*VolumeMarkWritableResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeMarkWritable not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeConfigure(context.Context, *VolumeConfigureRequest) (*VolumeConfigureResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeConfigure not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeStatus(context.Context, *VolumeStatusRequest) (*VolumeStatusResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeStatus not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeCopy(*VolumeCopyRequest, VolumeServer_VolumeCopyServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method VolumeCopy not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) ReadVolumeFileStatus(context.Context, *ReadVolumeFileStatusRequest) (*ReadVolumeFileStatusResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method ReadVolumeFileStatus not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) CopyFile(*CopyFileRequest, VolumeServer_CopyFileServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method CopyFile not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) ReadNeedleBlob(context.Context, *ReadNeedleBlobRequest) (*ReadNeedleBlobResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method ReadNeedleBlob not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) WriteNeedleBlob(context.Context, *WriteNeedleBlobRequest) (*WriteNeedleBlobResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method WriteNeedleBlob not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) ReadAllNeedles(*ReadAllNeedlesRequest, VolumeServer_ReadAllNeedlesServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method ReadAllNeedles not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeTailSender(*VolumeTailSenderRequest, VolumeServer_VolumeTailSenderServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method VolumeTailSender not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeTailReceiver(context.Context, *VolumeTailReceiverRequest) (*VolumeTailReceiverResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeTailReceiver not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcShardsGenerate(context.Context, *VolumeEcShardsGenerateRequest) (*VolumeEcShardsGenerateResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcShardsGenerate not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcShardsRebuild(context.Context, *VolumeEcShardsRebuildRequest) (*VolumeEcShardsRebuildResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcShardsRebuild not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcShardsCopy(context.Context, *VolumeEcShardsCopyRequest) (*VolumeEcShardsCopyResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcShardsCopy not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcShardsDelete(context.Context, *VolumeEcShardsDeleteRequest) (*VolumeEcShardsDeleteResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcShardsDelete not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcShardsMount(context.Context, *VolumeEcShardsMountRequest) (*VolumeEcShardsMountResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcShardsMount not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcShardsUnmount(context.Context, *VolumeEcShardsUnmountRequest) (*VolumeEcShardsUnmountResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcShardsUnmount not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcShardRead(*VolumeEcShardReadRequest, VolumeServer_VolumeEcShardReadServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method VolumeEcShardRead not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcBlobDelete(context.Context, *VolumeEcBlobDeleteRequest) (*VolumeEcBlobDeleteResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcBlobDelete not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeEcShardsToVolume(context.Context, *VolumeEcShardsToVolumeRequest) (*VolumeEcShardsToVolumeResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcShardsToVolume not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeTierMoveDatToRemote(*VolumeTierMoveDatToRemoteRequest, VolumeServer_VolumeTierMoveDatToRemoteServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method VolumeTierMoveDatToRemote not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeTierMoveDatFromRemote(*VolumeTierMoveDatFromRemoteRequest, VolumeServer_VolumeTierMoveDatFromRemoteServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method VolumeTierMoveDatFromRemote not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeServerStatus(context.Context, *VolumeServerStatusRequest) (*VolumeServerStatusResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeServerStatus not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeServerLeave(context.Context, *VolumeServerLeaveRequest) (*VolumeServerLeaveResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeServerLeave not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) FetchAndWriteNeedle(context.Context, *FetchAndWriteNeedleRequest) (*FetchAndWriteNeedleResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method FetchAndWriteNeedle not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) Query(*QueryRequest, VolumeServer_QueryServer) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method Query not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeNeedleStatus(context.Context, *VolumeNeedleStatusRequest) (*VolumeNeedleStatusResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeNeedleStatus not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) Ping(context.Context, *PingRequest) (*PingResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) mustEmbedUnimplementedVolumeServerServer() {}
							 | 
						|
								
							 | 
						|
								// UnsafeVolumeServerServer may be embedded to opt out of forward compatibility for this service.
							 | 
						|
								// Use of this interface is not recommended, as added methods to VolumeServerServer will
							 | 
						|
								// result in compilation errors.
							 | 
						|
								type UnsafeVolumeServerServer interface {
							 | 
						|
									mustEmbedUnimplementedVolumeServerServer()
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func RegisterVolumeServerServer(s grpc.ServiceRegistrar, srv VolumeServerServer) {
							 | 
						|
									s.RegisterService(&VolumeServer_ServiceDesc, srv)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_BatchDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(BatchDeleteRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).BatchDelete(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/BatchDelete",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).BatchDelete(ctx, req.(*BatchDeleteRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VacuumVolumeCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VacuumVolumeCheckRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VacuumVolumeCheck(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCheck",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VacuumVolumeCheck(ctx, req.(*VacuumVolumeCheckRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VacuumVolumeCompact_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(VacuumVolumeCompactRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).VacuumVolumeCompact(m, &volumeServerVacuumVolumeCompactServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_VacuumVolumeCompactServer interface {
							 | 
						|
									Send(*VacuumVolumeCompactResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVacuumVolumeCompactServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVacuumVolumeCompactServer) Send(m *VacuumVolumeCompactResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VacuumVolumeCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VacuumVolumeCommitRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VacuumVolumeCommit(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCommit",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VacuumVolumeCommit(ctx, req.(*VacuumVolumeCommitRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VacuumVolumeCleanup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VacuumVolumeCleanupRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VacuumVolumeCleanup(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCleanup",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VacuumVolumeCleanup(ctx, req.(*VacuumVolumeCleanupRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_DeleteCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(DeleteCollectionRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).DeleteCollection(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/DeleteCollection",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).DeleteCollection(ctx, req.(*DeleteCollectionRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_AllocateVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(AllocateVolumeRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).AllocateVolume(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/AllocateVolume",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).AllocateVolume(ctx, req.(*AllocateVolumeRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeSyncStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeSyncStatusRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeSyncStatus(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeSyncStatus",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeSyncStatus(ctx, req.(*VolumeSyncStatusRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeIncrementalCopy_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(VolumeIncrementalCopyRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).VolumeIncrementalCopy(m, &volumeServerVolumeIncrementalCopyServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_VolumeIncrementalCopyServer interface {
							 | 
						|
									Send(*VolumeIncrementalCopyResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeIncrementalCopyServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeIncrementalCopyServer) Send(m *VolumeIncrementalCopyResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeMount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeMountRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeMount(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeMount",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeMount(ctx, req.(*VolumeMountRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeUnmount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeUnmountRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeUnmount(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeUnmount",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeUnmount(ctx, req.(*VolumeUnmountRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeDeleteRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeDelete(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeDelete",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeDelete(ctx, req.(*VolumeDeleteRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeMarkReadonly_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeMarkReadonlyRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeMarkReadonly(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeMarkReadonly",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeMarkReadonly(ctx, req.(*VolumeMarkReadonlyRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeMarkWritable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeMarkWritableRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeMarkWritable(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeMarkWritable",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeMarkWritable(ctx, req.(*VolumeMarkWritableRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeConfigure_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeConfigureRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeConfigure(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeConfigure",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeConfigure(ctx, req.(*VolumeConfigureRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeStatusRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeStatus(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeStatus",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeStatus(ctx, req.(*VolumeStatusRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeCopy_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(VolumeCopyRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).VolumeCopy(m, &volumeServerVolumeCopyServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_VolumeCopyServer interface {
							 | 
						|
									Send(*VolumeCopyResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeCopyServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeCopyServer) Send(m *VolumeCopyResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_ReadVolumeFileStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(ReadVolumeFileStatusRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).ReadVolumeFileStatus(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/ReadVolumeFileStatus",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).ReadVolumeFileStatus(ctx, req.(*ReadVolumeFileStatusRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_CopyFile_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(CopyFileRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).CopyFile(m, &volumeServerCopyFileServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_CopyFileServer interface {
							 | 
						|
									Send(*CopyFileResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerCopyFileServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerCopyFileServer) Send(m *CopyFileResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_ReadNeedleBlob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(ReadNeedleBlobRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).ReadNeedleBlob(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/ReadNeedleBlob",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).ReadNeedleBlob(ctx, req.(*ReadNeedleBlobRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_WriteNeedleBlob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(WriteNeedleBlobRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).WriteNeedleBlob(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/WriteNeedleBlob",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).WriteNeedleBlob(ctx, req.(*WriteNeedleBlobRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_ReadAllNeedles_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(ReadAllNeedlesRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).ReadAllNeedles(m, &volumeServerReadAllNeedlesServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_ReadAllNeedlesServer interface {
							 | 
						|
									Send(*ReadAllNeedlesResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerReadAllNeedlesServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerReadAllNeedlesServer) Send(m *ReadAllNeedlesResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeTailSender_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(VolumeTailSenderRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).VolumeTailSender(m, &volumeServerVolumeTailSenderServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_VolumeTailSenderServer interface {
							 | 
						|
									Send(*VolumeTailSenderResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeTailSenderServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeTailSenderServer) Send(m *VolumeTailSenderResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeTailReceiver_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeTailReceiverRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeTailReceiver(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeTailReceiver",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeTailReceiver(ctx, req.(*VolumeTailReceiverRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardsGenerate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcShardsGenerateRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsGenerate(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsGenerate",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsGenerate(ctx, req.(*VolumeEcShardsGenerateRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardsRebuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcShardsRebuildRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsRebuild(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsRebuild",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsRebuild(ctx, req.(*VolumeEcShardsRebuildRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardsCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcShardsCopyRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsCopy(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsCopy",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsCopy(ctx, req.(*VolumeEcShardsCopyRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardsDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcShardsDeleteRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsDelete(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsDelete",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsDelete(ctx, req.(*VolumeEcShardsDeleteRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardsMount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcShardsMountRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsMount(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsMount",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsMount(ctx, req.(*VolumeEcShardsMountRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardsUnmount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcShardsUnmountRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsUnmount(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsUnmount",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsUnmount(ctx, req.(*VolumeEcShardsUnmountRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardRead_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(VolumeEcShardReadRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).VolumeEcShardRead(m, &volumeServerVolumeEcShardReadServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_VolumeEcShardReadServer interface {
							 | 
						|
									Send(*VolumeEcShardReadResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeEcShardReadServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeEcShardReadServer) Send(m *VolumeEcShardReadResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcBlobDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcBlobDeleteRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcBlobDelete(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeEcBlobDelete",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcBlobDelete(ctx, req.(*VolumeEcBlobDeleteRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardsToVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcShardsToVolumeRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsToVolume(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeEcShardsToVolume",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsToVolume(ctx, req.(*VolumeEcShardsToVolumeRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeTierMoveDatToRemote_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(VolumeTierMoveDatToRemoteRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).VolumeTierMoveDatToRemote(m, &volumeServerVolumeTierMoveDatToRemoteServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_VolumeTierMoveDatToRemoteServer interface {
							 | 
						|
									Send(*VolumeTierMoveDatToRemoteResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeTierMoveDatToRemoteServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeTierMoveDatToRemoteServer) Send(m *VolumeTierMoveDatToRemoteResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeTierMoveDatFromRemote_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(VolumeTierMoveDatFromRemoteRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).VolumeTierMoveDatFromRemote(m, &volumeServerVolumeTierMoveDatFromRemoteServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_VolumeTierMoveDatFromRemoteServer interface {
							 | 
						|
									Send(*VolumeTierMoveDatFromRemoteResponse) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerVolumeTierMoveDatFromRemoteServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerVolumeTierMoveDatFromRemoteServer) Send(m *VolumeTierMoveDatFromRemoteResponse) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeServerStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeServerStatusRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeServerStatus(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeServerStatus",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeServerStatus(ctx, req.(*VolumeServerStatusRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeServerLeave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeServerLeaveRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeServerLeave(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeServerLeave",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeServerLeave(ctx, req.(*VolumeServerLeaveRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_FetchAndWriteNeedle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(FetchAndWriteNeedleRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).FetchAndWriteNeedle(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/FetchAndWriteNeedle",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).FetchAndWriteNeedle(ctx, req.(*FetchAndWriteNeedleRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_Query_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									m := new(QueryRequest)
							 | 
						|
									if err := stream.RecvMsg(m); err != nil {
							 | 
						|
										return err
							 | 
						|
									}
							 | 
						|
									return srv.(VolumeServerServer).Query(m, &volumeServerQueryServer{stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type VolumeServer_QueryServer interface {
							 | 
						|
									Send(*QueriedStripe) error
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								type volumeServerQueryServer struct {
							 | 
						|
									grpc.ServerStream
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (x *volumeServerQueryServer) Send(m *QueriedStripe) error {
							 | 
						|
									return x.ServerStream.SendMsg(m)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeNeedleStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeNeedleStatusRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeNeedleStatus(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/VolumeNeedleStatus",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeNeedleStatus(ctx, req.(*VolumeNeedleStatusRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(PingRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).Ping(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: "/volume_server_pb.VolumeServer/Ping",
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).Ping(ctx, req.(*PingRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// VolumeServer_ServiceDesc is the grpc.ServiceDesc for VolumeServer service.
							 | 
						|
								// It's only intended for direct use with grpc.RegisterService,
							 | 
						|
								// and not to be introspected or modified (even as a copy)
							 | 
						|
								var VolumeServer_ServiceDesc = grpc.ServiceDesc{
							 | 
						|
									ServiceName: "volume_server_pb.VolumeServer",
							 | 
						|
									HandlerType: (*VolumeServerServer)(nil),
							 | 
						|
									Methods: []grpc.MethodDesc{
							 | 
						|
										{
							 | 
						|
											MethodName: "BatchDelete",
							 | 
						|
											Handler:    _VolumeServer_BatchDelete_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VacuumVolumeCheck",
							 | 
						|
											Handler:    _VolumeServer_VacuumVolumeCheck_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VacuumVolumeCommit",
							 | 
						|
											Handler:    _VolumeServer_VacuumVolumeCommit_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VacuumVolumeCleanup",
							 | 
						|
											Handler:    _VolumeServer_VacuumVolumeCleanup_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "DeleteCollection",
							 | 
						|
											Handler:    _VolumeServer_DeleteCollection_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "AllocateVolume",
							 | 
						|
											Handler:    _VolumeServer_AllocateVolume_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeSyncStatus",
							 | 
						|
											Handler:    _VolumeServer_VolumeSyncStatus_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeMount",
							 | 
						|
											Handler:    _VolumeServer_VolumeMount_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeUnmount",
							 | 
						|
											Handler:    _VolumeServer_VolumeUnmount_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeDelete",
							 | 
						|
											Handler:    _VolumeServer_VolumeDelete_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeMarkReadonly",
							 | 
						|
											Handler:    _VolumeServer_VolumeMarkReadonly_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeMarkWritable",
							 | 
						|
											Handler:    _VolumeServer_VolumeMarkWritable_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeConfigure",
							 | 
						|
											Handler:    _VolumeServer_VolumeConfigure_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeStatus",
							 | 
						|
											Handler:    _VolumeServer_VolumeStatus_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "ReadVolumeFileStatus",
							 | 
						|
											Handler:    _VolumeServer_ReadVolumeFileStatus_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "ReadNeedleBlob",
							 | 
						|
											Handler:    _VolumeServer_ReadNeedleBlob_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "WriteNeedleBlob",
							 | 
						|
											Handler:    _VolumeServer_WriteNeedleBlob_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeTailReceiver",
							 | 
						|
											Handler:    _VolumeServer_VolumeTailReceiver_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeEcShardsGenerate",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcShardsGenerate_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeEcShardsRebuild",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcShardsRebuild_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeEcShardsCopy",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcShardsCopy_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeEcShardsDelete",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcShardsDelete_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeEcShardsMount",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcShardsMount_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeEcShardsUnmount",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcShardsUnmount_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeEcBlobDelete",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcBlobDelete_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeEcShardsToVolume",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcShardsToVolume_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeServerStatus",
							 | 
						|
											Handler:    _VolumeServer_VolumeServerStatus_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeServerLeave",
							 | 
						|
											Handler:    _VolumeServer_VolumeServerLeave_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "FetchAndWriteNeedle",
							 | 
						|
											Handler:    _VolumeServer_FetchAndWriteNeedle_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "VolumeNeedleStatus",
							 | 
						|
											Handler:    _VolumeServer_VolumeNeedleStatus_Handler,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											MethodName: "Ping",
							 | 
						|
											Handler:    _VolumeServer_Ping_Handler,
							 | 
						|
										},
							 | 
						|
									},
							 | 
						|
									Streams: []grpc.StreamDesc{
							 | 
						|
										{
							 | 
						|
											StreamName:    "VacuumVolumeCompact",
							 | 
						|
											Handler:       _VolumeServer_VacuumVolumeCompact_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "VolumeIncrementalCopy",
							 | 
						|
											Handler:       _VolumeServer_VolumeIncrementalCopy_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "VolumeCopy",
							 | 
						|
											Handler:       _VolumeServer_VolumeCopy_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "CopyFile",
							 | 
						|
											Handler:       _VolumeServer_CopyFile_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "ReadAllNeedles",
							 | 
						|
											Handler:       _VolumeServer_ReadAllNeedles_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "VolumeTailSender",
							 | 
						|
											Handler:       _VolumeServer_VolumeTailSender_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "VolumeEcShardRead",
							 | 
						|
											Handler:       _VolumeServer_VolumeEcShardRead_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "VolumeTierMoveDatToRemote",
							 | 
						|
											Handler:       _VolumeServer_VolumeTierMoveDatToRemote_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "VolumeTierMoveDatFromRemote",
							 | 
						|
											Handler:       _VolumeServer_VolumeTierMoveDatFromRemote_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
										{
							 | 
						|
											StreamName:    "Query",
							 | 
						|
											Handler:       _VolumeServer_Query_Handler,
							 | 
						|
											ServerStreams: true,
							 | 
						|
										},
							 | 
						|
									},
							 | 
						|
									Metadata: "volume_server.proto",
							 | 
						|
								}
							 |