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.
		
		
		
		
		
			
		
			
				
					
					
						
							1791 lines
						
					
					
						
							84 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							1791 lines
						
					
					
						
							84 KiB
						
					
					
				
								// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
							 | 
						|
								// versions:
							 | 
						|
								// - protoc-gen-go-grpc v1.5.1
							 | 
						|
								// - protoc             v5.29.3
							 | 
						|
								// source: volume_server.proto
							 | 
						|
								
							 | 
						|
								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.64.0 or later.
							 | 
						|
								const _ = grpc.SupportPackageIsVersion9
							 | 
						|
								
							 | 
						|
								const (
							 | 
						|
									VolumeServer_BatchDelete_FullMethodName                 = "/volume_server_pb.VolumeServer/BatchDelete"
							 | 
						|
									VolumeServer_VacuumVolumeCheck_FullMethodName           = "/volume_server_pb.VolumeServer/VacuumVolumeCheck"
							 | 
						|
									VolumeServer_VacuumVolumeCompact_FullMethodName         = "/volume_server_pb.VolumeServer/VacuumVolumeCompact"
							 | 
						|
									VolumeServer_VacuumVolumeCommit_FullMethodName          = "/volume_server_pb.VolumeServer/VacuumVolumeCommit"
							 | 
						|
									VolumeServer_VacuumVolumeCleanup_FullMethodName         = "/volume_server_pb.VolumeServer/VacuumVolumeCleanup"
							 | 
						|
									VolumeServer_DeleteCollection_FullMethodName            = "/volume_server_pb.VolumeServer/DeleteCollection"
							 | 
						|
									VolumeServer_AllocateVolume_FullMethodName              = "/volume_server_pb.VolumeServer/AllocateVolume"
							 | 
						|
									VolumeServer_VolumeSyncStatus_FullMethodName            = "/volume_server_pb.VolumeServer/VolumeSyncStatus"
							 | 
						|
									VolumeServer_VolumeIncrementalCopy_FullMethodName       = "/volume_server_pb.VolumeServer/VolumeIncrementalCopy"
							 | 
						|
									VolumeServer_VolumeMount_FullMethodName                 = "/volume_server_pb.VolumeServer/VolumeMount"
							 | 
						|
									VolumeServer_VolumeUnmount_FullMethodName               = "/volume_server_pb.VolumeServer/VolumeUnmount"
							 | 
						|
									VolumeServer_VolumeDelete_FullMethodName                = "/volume_server_pb.VolumeServer/VolumeDelete"
							 | 
						|
									VolumeServer_VolumeMarkReadonly_FullMethodName          = "/volume_server_pb.VolumeServer/VolumeMarkReadonly"
							 | 
						|
									VolumeServer_VolumeMarkWritable_FullMethodName          = "/volume_server_pb.VolumeServer/VolumeMarkWritable"
							 | 
						|
									VolumeServer_VolumeConfigure_FullMethodName             = "/volume_server_pb.VolumeServer/VolumeConfigure"
							 | 
						|
									VolumeServer_VolumeStatus_FullMethodName                = "/volume_server_pb.VolumeServer/VolumeStatus"
							 | 
						|
									VolumeServer_VolumeCopy_FullMethodName                  = "/volume_server_pb.VolumeServer/VolumeCopy"
							 | 
						|
									VolumeServer_ReadVolumeFileStatus_FullMethodName        = "/volume_server_pb.VolumeServer/ReadVolumeFileStatus"
							 | 
						|
									VolumeServer_CopyFile_FullMethodName                    = "/volume_server_pb.VolumeServer/CopyFile"
							 | 
						|
									VolumeServer_ReceiveFile_FullMethodName                 = "/volume_server_pb.VolumeServer/ReceiveFile"
							 | 
						|
									VolumeServer_ReadNeedleBlob_FullMethodName              = "/volume_server_pb.VolumeServer/ReadNeedleBlob"
							 | 
						|
									VolumeServer_ReadNeedleMeta_FullMethodName              = "/volume_server_pb.VolumeServer/ReadNeedleMeta"
							 | 
						|
									VolumeServer_WriteNeedleBlob_FullMethodName             = "/volume_server_pb.VolumeServer/WriteNeedleBlob"
							 | 
						|
									VolumeServer_ReadAllNeedles_FullMethodName              = "/volume_server_pb.VolumeServer/ReadAllNeedles"
							 | 
						|
									VolumeServer_VolumeTailSender_FullMethodName            = "/volume_server_pb.VolumeServer/VolumeTailSender"
							 | 
						|
									VolumeServer_VolumeTailReceiver_FullMethodName          = "/volume_server_pb.VolumeServer/VolumeTailReceiver"
							 | 
						|
									VolumeServer_VolumeEcShardsGenerate_FullMethodName      = "/volume_server_pb.VolumeServer/VolumeEcShardsGenerate"
							 | 
						|
									VolumeServer_VolumeEcShardsRebuild_FullMethodName       = "/volume_server_pb.VolumeServer/VolumeEcShardsRebuild"
							 | 
						|
									VolumeServer_VolumeEcShardsCopy_FullMethodName          = "/volume_server_pb.VolumeServer/VolumeEcShardsCopy"
							 | 
						|
									VolumeServer_VolumeEcShardsDelete_FullMethodName        = "/volume_server_pb.VolumeServer/VolumeEcShardsDelete"
							 | 
						|
									VolumeServer_VolumeEcShardsMount_FullMethodName         = "/volume_server_pb.VolumeServer/VolumeEcShardsMount"
							 | 
						|
									VolumeServer_VolumeEcShardsUnmount_FullMethodName       = "/volume_server_pb.VolumeServer/VolumeEcShardsUnmount"
							 | 
						|
									VolumeServer_VolumeEcShardRead_FullMethodName           = "/volume_server_pb.VolumeServer/VolumeEcShardRead"
							 | 
						|
									VolumeServer_VolumeEcBlobDelete_FullMethodName          = "/volume_server_pb.VolumeServer/VolumeEcBlobDelete"
							 | 
						|
									VolumeServer_VolumeEcShardsToVolume_FullMethodName      = "/volume_server_pb.VolumeServer/VolumeEcShardsToVolume"
							 | 
						|
									VolumeServer_VolumeEcShardsInfo_FullMethodName          = "/volume_server_pb.VolumeServer/VolumeEcShardsInfo"
							 | 
						|
									VolumeServer_VolumeTierMoveDatToRemote_FullMethodName   = "/volume_server_pb.VolumeServer/VolumeTierMoveDatToRemote"
							 | 
						|
									VolumeServer_VolumeTierMoveDatFromRemote_FullMethodName = "/volume_server_pb.VolumeServer/VolumeTierMoveDatFromRemote"
							 | 
						|
									VolumeServer_VolumeServerStatus_FullMethodName          = "/volume_server_pb.VolumeServer/VolumeServerStatus"
							 | 
						|
									VolumeServer_VolumeServerLeave_FullMethodName           = "/volume_server_pb.VolumeServer/VolumeServerLeave"
							 | 
						|
									VolumeServer_FetchAndWriteNeedle_FullMethodName         = "/volume_server_pb.VolumeServer/FetchAndWriteNeedle"
							 | 
						|
									VolumeServer_Query_FullMethodName                       = "/volume_server_pb.VolumeServer/Query"
							 | 
						|
									VolumeServer_VolumeNeedleStatus_FullMethodName          = "/volume_server_pb.VolumeServer/VolumeNeedleStatus"
							 | 
						|
									VolumeServer_Ping_FullMethodName                        = "/volume_server_pb.VolumeServer/Ping"
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								// 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) (grpc.ServerStreamingClient[VacuumVolumeCompactResponse], 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) (grpc.ServerStreamingClient[VolumeIncrementalCopyResponse], 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) (grpc.ServerStreamingClient[VolumeCopyResponse], error)
							 | 
						|
									ReadVolumeFileStatus(ctx context.Context, in *ReadVolumeFileStatusRequest, opts ...grpc.CallOption) (*ReadVolumeFileStatusResponse, error)
							 | 
						|
									CopyFile(ctx context.Context, in *CopyFileRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CopyFileResponse], error)
							 | 
						|
									ReceiveFile(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[ReceiveFileRequest, ReceiveFileResponse], error)
							 | 
						|
									ReadNeedleBlob(ctx context.Context, in *ReadNeedleBlobRequest, opts ...grpc.CallOption) (*ReadNeedleBlobResponse, error)
							 | 
						|
									ReadNeedleMeta(ctx context.Context, in *ReadNeedleMetaRequest, opts ...grpc.CallOption) (*ReadNeedleMetaResponse, error)
							 | 
						|
									WriteNeedleBlob(ctx context.Context, in *WriteNeedleBlobRequest, opts ...grpc.CallOption) (*WriteNeedleBlobResponse, error)
							 | 
						|
									ReadAllNeedles(ctx context.Context, in *ReadAllNeedlesRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ReadAllNeedlesResponse], error)
							 | 
						|
									VolumeTailSender(ctx context.Context, in *VolumeTailSenderRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeTailSenderResponse], 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) (grpc.ServerStreamingClient[VolumeEcShardReadResponse], error)
							 | 
						|
									VolumeEcBlobDelete(ctx context.Context, in *VolumeEcBlobDeleteRequest, opts ...grpc.CallOption) (*VolumeEcBlobDeleteResponse, error)
							 | 
						|
									VolumeEcShardsToVolume(ctx context.Context, in *VolumeEcShardsToVolumeRequest, opts ...grpc.CallOption) (*VolumeEcShardsToVolumeResponse, error)
							 | 
						|
									VolumeEcShardsInfo(ctx context.Context, in *VolumeEcShardsInfoRequest, opts ...grpc.CallOption) (*VolumeEcShardsInfoResponse, error)
							 | 
						|
									// tiered storage
							 | 
						|
									VolumeTierMoveDatToRemote(ctx context.Context, in *VolumeTierMoveDatToRemoteRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeTierMoveDatToRemoteResponse], error)
							 | 
						|
									VolumeTierMoveDatFromRemote(ctx context.Context, in *VolumeTierMoveDatFromRemoteRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeTierMoveDatFromRemoteResponse], 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) (grpc.ServerStreamingClient[QueriedStripe], 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) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(BatchDeleteResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_BatchDelete_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VacuumVolumeCheckResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VacuumVolumeCheck_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VacuumVolumeCompactResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[0], VolumeServer_VacuumVolumeCompact_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[VacuumVolumeCompactRequest, VacuumVolumeCompactResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VacuumVolumeCompactClient = grpc.ServerStreamingClient[VacuumVolumeCompactResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VacuumVolumeCommitResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VacuumVolumeCommit_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VacuumVolumeCleanupResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VacuumVolumeCleanup_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(DeleteCollectionResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_DeleteCollection_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) AllocateVolume(ctx context.Context, in *AllocateVolumeRequest, opts ...grpc.CallOption) (*AllocateVolumeResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(AllocateVolumeResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_AllocateVolume_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeSyncStatus(ctx context.Context, in *VolumeSyncStatusRequest, opts ...grpc.CallOption) (*VolumeSyncStatusResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeSyncStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeSyncStatus_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeIncrementalCopy(ctx context.Context, in *VolumeIncrementalCopyRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeIncrementalCopyResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[1], VolumeServer_VolumeIncrementalCopy_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[VolumeIncrementalCopyRequest, VolumeIncrementalCopyResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeIncrementalCopyClient = grpc.ServerStreamingClient[VolumeIncrementalCopyResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeMount(ctx context.Context, in *VolumeMountRequest, opts ...grpc.CallOption) (*VolumeMountResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeMountResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeMount_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeUnmount(ctx context.Context, in *VolumeUnmountRequest, opts ...grpc.CallOption) (*VolumeUnmountResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeUnmountResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeUnmount_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeDelete(ctx context.Context, in *VolumeDeleteRequest, opts ...grpc.CallOption) (*VolumeDeleteResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeDeleteResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeDelete_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeMarkReadonly(ctx context.Context, in *VolumeMarkReadonlyRequest, opts ...grpc.CallOption) (*VolumeMarkReadonlyResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeMarkReadonlyResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeMarkReadonly_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeMarkWritable(ctx context.Context, in *VolumeMarkWritableRequest, opts ...grpc.CallOption) (*VolumeMarkWritableResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeMarkWritableResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeMarkWritable_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeConfigure(ctx context.Context, in *VolumeConfigureRequest, opts ...grpc.CallOption) (*VolumeConfigureResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeConfigureResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeConfigure_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeStatus(ctx context.Context, in *VolumeStatusRequest, opts ...grpc.CallOption) (*VolumeStatusResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeStatus_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeCopy(ctx context.Context, in *VolumeCopyRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeCopyResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[2], VolumeServer_VolumeCopy_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[VolumeCopyRequest, VolumeCopyResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeCopyClient = grpc.ServerStreamingClient[VolumeCopyResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) ReadVolumeFileStatus(ctx context.Context, in *ReadVolumeFileStatusRequest, opts ...grpc.CallOption) (*ReadVolumeFileStatusResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(ReadVolumeFileStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_ReadVolumeFileStatus_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) CopyFile(ctx context.Context, in *CopyFileRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CopyFileResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[3], VolumeServer_CopyFile_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[CopyFileRequest, CopyFileResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_CopyFileClient = grpc.ServerStreamingClient[CopyFileResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) ReceiveFile(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[ReceiveFileRequest, ReceiveFileResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[4], VolumeServer_ReceiveFile_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[ReceiveFileRequest, ReceiveFileResponse]{ClientStream: stream}
							 | 
						|
									return x, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_ReceiveFileClient = grpc.ClientStreamingClient[ReceiveFileRequest, ReceiveFileResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) ReadNeedleBlob(ctx context.Context, in *ReadNeedleBlobRequest, opts ...grpc.CallOption) (*ReadNeedleBlobResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(ReadNeedleBlobResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_ReadNeedleBlob_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) ReadNeedleMeta(ctx context.Context, in *ReadNeedleMetaRequest, opts ...grpc.CallOption) (*ReadNeedleMetaResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(ReadNeedleMetaResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_ReadNeedleMeta_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) WriteNeedleBlob(ctx context.Context, in *WriteNeedleBlobRequest, opts ...grpc.CallOption) (*WriteNeedleBlobResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(WriteNeedleBlobResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_WriteNeedleBlob_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) ReadAllNeedles(ctx context.Context, in *ReadAllNeedlesRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ReadAllNeedlesResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[5], VolumeServer_ReadAllNeedles_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[ReadAllNeedlesRequest, ReadAllNeedlesResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_ReadAllNeedlesClient = grpc.ServerStreamingClient[ReadAllNeedlesResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeTailSender(ctx context.Context, in *VolumeTailSenderRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeTailSenderResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[6], VolumeServer_VolumeTailSender_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[VolumeTailSenderRequest, VolumeTailSenderResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeTailSenderClient = grpc.ServerStreamingClient[VolumeTailSenderResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeTailReceiver(ctx context.Context, in *VolumeTailReceiverRequest, opts ...grpc.CallOption) (*VolumeTailReceiverResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeTailReceiverResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeTailReceiver_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsGenerate(ctx context.Context, in *VolumeEcShardsGenerateRequest, opts ...grpc.CallOption) (*VolumeEcShardsGenerateResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcShardsGenerateResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcShardsGenerate_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsRebuild(ctx context.Context, in *VolumeEcShardsRebuildRequest, opts ...grpc.CallOption) (*VolumeEcShardsRebuildResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcShardsRebuildResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcShardsRebuild_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsCopy(ctx context.Context, in *VolumeEcShardsCopyRequest, opts ...grpc.CallOption) (*VolumeEcShardsCopyResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcShardsCopyResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcShardsCopy_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsDelete(ctx context.Context, in *VolumeEcShardsDeleteRequest, opts ...grpc.CallOption) (*VolumeEcShardsDeleteResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcShardsDeleteResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcShardsDelete_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsMount(ctx context.Context, in *VolumeEcShardsMountRequest, opts ...grpc.CallOption) (*VolumeEcShardsMountResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcShardsMountResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcShardsMount_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsUnmount(ctx context.Context, in *VolumeEcShardsUnmountRequest, opts ...grpc.CallOption) (*VolumeEcShardsUnmountResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcShardsUnmountResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcShardsUnmount_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardRead(ctx context.Context, in *VolumeEcShardReadRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeEcShardReadResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[7], VolumeServer_VolumeEcShardRead_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[VolumeEcShardReadRequest, VolumeEcShardReadResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeEcShardReadClient = grpc.ServerStreamingClient[VolumeEcShardReadResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcBlobDelete(ctx context.Context, in *VolumeEcBlobDeleteRequest, opts ...grpc.CallOption) (*VolumeEcBlobDeleteResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcBlobDeleteResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcBlobDelete_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsToVolume(ctx context.Context, in *VolumeEcShardsToVolumeRequest, opts ...grpc.CallOption) (*VolumeEcShardsToVolumeResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcShardsToVolumeResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcShardsToVolume_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeEcShardsInfo(ctx context.Context, in *VolumeEcShardsInfoRequest, opts ...grpc.CallOption) (*VolumeEcShardsInfoResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeEcShardsInfoResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeEcShardsInfo_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeTierMoveDatToRemote(ctx context.Context, in *VolumeTierMoveDatToRemoteRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeTierMoveDatToRemoteResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[8], VolumeServer_VolumeTierMoveDatToRemote_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[VolumeTierMoveDatToRemoteRequest, VolumeTierMoveDatToRemoteResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeTierMoveDatToRemoteClient = grpc.ServerStreamingClient[VolumeTierMoveDatToRemoteResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeTierMoveDatFromRemote(ctx context.Context, in *VolumeTierMoveDatFromRemoteRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[VolumeTierMoveDatFromRemoteResponse], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[9], VolumeServer_VolumeTierMoveDatFromRemote_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[VolumeTierMoveDatFromRemoteRequest, VolumeTierMoveDatFromRemoteResponse]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeTierMoveDatFromRemoteClient = grpc.ServerStreamingClient[VolumeTierMoveDatFromRemoteResponse]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeServerStatus(ctx context.Context, in *VolumeServerStatusRequest, opts ...grpc.CallOption) (*VolumeServerStatusResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeServerStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeServerStatus_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeServerLeave(ctx context.Context, in *VolumeServerLeaveRequest, opts ...grpc.CallOption) (*VolumeServerLeaveResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeServerLeaveResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeServerLeave_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) FetchAndWriteNeedle(ctx context.Context, in *FetchAndWriteNeedleRequest, opts ...grpc.CallOption) (*FetchAndWriteNeedleResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(FetchAndWriteNeedleResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_FetchAndWriteNeedle_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[QueriedStripe], error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									stream, err := c.cc.NewStream(ctx, &VolumeServer_ServiceDesc.Streams[10], VolumeServer_Query_FullMethodName, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									x := &grpc.GenericClientStream[QueryRequest, QueriedStripe]{ClientStream: 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
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_QueryClient = grpc.ServerStreamingClient[QueriedStripe]
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) VolumeNeedleStatus(ctx context.Context, in *VolumeNeedleStatusRequest, opts ...grpc.CallOption) (*VolumeNeedleStatusResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(VolumeNeedleStatusResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_VolumeNeedleStatus_FullMethodName, in, out, cOpts...)
							 | 
						|
									if err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									return out, nil
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func (c *volumeServerClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) {
							 | 
						|
									cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
							 | 
						|
									out := new(PingResponse)
							 | 
						|
									err := c.cc.Invoke(ctx, VolumeServer_Ping_FullMethodName, in, out, cOpts...)
							 | 
						|
									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, grpc.ServerStreamingServer[VacuumVolumeCompactResponse]) 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, grpc.ServerStreamingServer[VolumeIncrementalCopyResponse]) 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, grpc.ServerStreamingServer[VolumeCopyResponse]) error
							 | 
						|
									ReadVolumeFileStatus(context.Context, *ReadVolumeFileStatusRequest) (*ReadVolumeFileStatusResponse, error)
							 | 
						|
									CopyFile(*CopyFileRequest, grpc.ServerStreamingServer[CopyFileResponse]) error
							 | 
						|
									ReceiveFile(grpc.ClientStreamingServer[ReceiveFileRequest, ReceiveFileResponse]) error
							 | 
						|
									ReadNeedleBlob(context.Context, *ReadNeedleBlobRequest) (*ReadNeedleBlobResponse, error)
							 | 
						|
									ReadNeedleMeta(context.Context, *ReadNeedleMetaRequest) (*ReadNeedleMetaResponse, error)
							 | 
						|
									WriteNeedleBlob(context.Context, *WriteNeedleBlobRequest) (*WriteNeedleBlobResponse, error)
							 | 
						|
									ReadAllNeedles(*ReadAllNeedlesRequest, grpc.ServerStreamingServer[ReadAllNeedlesResponse]) error
							 | 
						|
									VolumeTailSender(*VolumeTailSenderRequest, grpc.ServerStreamingServer[VolumeTailSenderResponse]) 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, grpc.ServerStreamingServer[VolumeEcShardReadResponse]) error
							 | 
						|
									VolumeEcBlobDelete(context.Context, *VolumeEcBlobDeleteRequest) (*VolumeEcBlobDeleteResponse, error)
							 | 
						|
									VolumeEcShardsToVolume(context.Context, *VolumeEcShardsToVolumeRequest) (*VolumeEcShardsToVolumeResponse, error)
							 | 
						|
									VolumeEcShardsInfo(context.Context, *VolumeEcShardsInfoRequest) (*VolumeEcShardsInfoResponse, error)
							 | 
						|
									// tiered storage
							 | 
						|
									VolumeTierMoveDatToRemote(*VolumeTierMoveDatToRemoteRequest, grpc.ServerStreamingServer[VolumeTierMoveDatToRemoteResponse]) error
							 | 
						|
									VolumeTierMoveDatFromRemote(*VolumeTierMoveDatFromRemoteRequest, grpc.ServerStreamingServer[VolumeTierMoveDatFromRemoteResponse]) 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, grpc.ServerStreamingServer[QueriedStripe]) error
							 | 
						|
									VolumeNeedleStatus(context.Context, *VolumeNeedleStatusRequest) (*VolumeNeedleStatusResponse, error)
							 | 
						|
									Ping(context.Context, *PingRequest) (*PingResponse, error)
							 | 
						|
									mustEmbedUnimplementedVolumeServerServer()
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// UnimplementedVolumeServerServer must be embedded to have
							 | 
						|
								// forward compatible implementations.
							 | 
						|
								//
							 | 
						|
								// NOTE: this should be embedded by value instead of pointer to avoid a nil
							 | 
						|
								// pointer dereference when methods are called.
							 | 
						|
								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, grpc.ServerStreamingServer[VacuumVolumeCompactResponse]) 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, grpc.ServerStreamingServer[VolumeIncrementalCopyResponse]) 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, grpc.ServerStreamingServer[VolumeCopyResponse]) 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, grpc.ServerStreamingServer[CopyFileResponse]) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method CopyFile not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) ReceiveFile(grpc.ClientStreamingServer[ReceiveFileRequest, ReceiveFileResponse]) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method ReceiveFile not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) ReadNeedleBlob(context.Context, *ReadNeedleBlobRequest) (*ReadNeedleBlobResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method ReadNeedleBlob not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) ReadNeedleMeta(context.Context, *ReadNeedleMetaRequest) (*ReadNeedleMetaResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method ReadNeedleMeta not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) WriteNeedleBlob(context.Context, *WriteNeedleBlobRequest) (*WriteNeedleBlobResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method WriteNeedleBlob not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) ReadAllNeedles(*ReadAllNeedlesRequest, grpc.ServerStreamingServer[ReadAllNeedlesResponse]) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method ReadAllNeedles not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeTailSender(*VolumeTailSenderRequest, grpc.ServerStreamingServer[VolumeTailSenderResponse]) 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, grpc.ServerStreamingServer[VolumeEcShardReadResponse]) 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) VolumeEcShardsInfo(context.Context, *VolumeEcShardsInfoRequest) (*VolumeEcShardsInfoResponse, error) {
							 | 
						|
									return nil, status.Errorf(codes.Unimplemented, "method VolumeEcShardsInfo not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeTierMoveDatToRemote(*VolumeTierMoveDatToRemoteRequest, grpc.ServerStreamingServer[VolumeTierMoveDatToRemoteResponse]) error {
							 | 
						|
									return status.Errorf(codes.Unimplemented, "method VolumeTierMoveDatToRemote not implemented")
							 | 
						|
								}
							 | 
						|
								func (UnimplementedVolumeServerServer) VolumeTierMoveDatFromRemote(*VolumeTierMoveDatFromRemoteRequest, grpc.ServerStreamingServer[VolumeTierMoveDatFromRemoteResponse]) 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, grpc.ServerStreamingServer[QueriedStripe]) 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() {}
							 | 
						|
								func (UnimplementedVolumeServerServer) testEmbeddedByValue()                      {}
							 | 
						|
								
							 | 
						|
								// 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) {
							 | 
						|
									// If the following call pancis, it indicates UnimplementedVolumeServerServer was
							 | 
						|
									// embedded by pointer and is nil.  This will cause panics if an
							 | 
						|
									// unimplemented method is ever invoked, so we test this at initialization
							 | 
						|
									// time to prevent it from happening at runtime later due to I/O.
							 | 
						|
									if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
							 | 
						|
										t.testEmbeddedByValue()
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_BatchDelete_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VacuumVolumeCheck_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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, &grpc.GenericServerStream[VacuumVolumeCompactRequest, VacuumVolumeCompactResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VacuumVolumeCompactServer = grpc.ServerStreamingServer[VacuumVolumeCompactResponse]
							 | 
						|
								
							 | 
						|
								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: VolumeServer_VacuumVolumeCommit_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VacuumVolumeCleanup_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_DeleteCollection_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_AllocateVolume_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeSyncStatus_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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, &grpc.GenericServerStream[VolumeIncrementalCopyRequest, VolumeIncrementalCopyResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeIncrementalCopyServer = grpc.ServerStreamingServer[VolumeIncrementalCopyResponse]
							 | 
						|
								
							 | 
						|
								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: VolumeServer_VolumeMount_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeUnmount_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeDelete_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeMarkReadonly_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeMarkWritable_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeConfigure_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeStatus_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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, &grpc.GenericServerStream[VolumeCopyRequest, VolumeCopyResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeCopyServer = grpc.ServerStreamingServer[VolumeCopyResponse]
							 | 
						|
								
							 | 
						|
								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: VolumeServer_ReadVolumeFileStatus_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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, &grpc.GenericServerStream[CopyFileRequest, CopyFileResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_CopyFileServer = grpc.ServerStreamingServer[CopyFileResponse]
							 | 
						|
								
							 | 
						|
								func _VolumeServer_ReceiveFile_Handler(srv interface{}, stream grpc.ServerStream) error {
							 | 
						|
									return srv.(VolumeServerServer).ReceiveFile(&grpc.GenericServerStream[ReceiveFileRequest, ReceiveFileResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_ReceiveFileServer = grpc.ClientStreamingServer[ReceiveFileRequest, ReceiveFileResponse]
							 | 
						|
								
							 | 
						|
								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: VolumeServer_ReadNeedleBlob_FullMethodName,
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).ReadNeedleBlob(ctx, req.(*ReadNeedleBlobRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_ReadNeedleMeta_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(ReadNeedleMetaRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).ReadNeedleMeta(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: VolumeServer_ReadNeedleMeta_FullMethodName,
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).ReadNeedleMeta(ctx, req.(*ReadNeedleMetaRequest))
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_WriteNeedleBlob_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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, &grpc.GenericServerStream[ReadAllNeedlesRequest, ReadAllNeedlesResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_ReadAllNeedlesServer = grpc.ServerStreamingServer[ReadAllNeedlesResponse]
							 | 
						|
								
							 | 
						|
								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, &grpc.GenericServerStream[VolumeTailSenderRequest, VolumeTailSenderResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeTailSenderServer = grpc.ServerStreamingServer[VolumeTailSenderResponse]
							 | 
						|
								
							 | 
						|
								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: VolumeServer_VolumeTailReceiver_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeEcShardsGenerate_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeEcShardsRebuild_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeEcShardsCopy_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeEcShardsDelete_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeEcShardsMount_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeEcShardsUnmount_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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, &grpc.GenericServerStream[VolumeEcShardReadRequest, VolumeEcShardReadResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeEcShardReadServer = grpc.ServerStreamingServer[VolumeEcShardReadResponse]
							 | 
						|
								
							 | 
						|
								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: VolumeServer_VolumeEcBlobDelete_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeEcShardsToVolume_FullMethodName,
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsToVolume(ctx, req.(*VolumeEcShardsToVolumeRequest))
							 | 
						|
									}
							 | 
						|
									return interceptor(ctx, in, info, handler)
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func _VolumeServer_VolumeEcShardsInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
							 | 
						|
									in := new(VolumeEcShardsInfoRequest)
							 | 
						|
									if err := dec(in); err != nil {
							 | 
						|
										return nil, err
							 | 
						|
									}
							 | 
						|
									if interceptor == nil {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsInfo(ctx, in)
							 | 
						|
									}
							 | 
						|
									info := &grpc.UnaryServerInfo{
							 | 
						|
										Server:     srv,
							 | 
						|
										FullMethod: VolumeServer_VolumeEcShardsInfo_FullMethodName,
							 | 
						|
									}
							 | 
						|
									handler := func(ctx context.Context, req interface{}) (interface{}, error) {
							 | 
						|
										return srv.(VolumeServerServer).VolumeEcShardsInfo(ctx, req.(*VolumeEcShardsInfoRequest))
							 | 
						|
									}
							 | 
						|
									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, &grpc.GenericServerStream[VolumeTierMoveDatToRemoteRequest, VolumeTierMoveDatToRemoteResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeTierMoveDatToRemoteServer = grpc.ServerStreamingServer[VolumeTierMoveDatToRemoteResponse]
							 | 
						|
								
							 | 
						|
								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, &grpc.GenericServerStream[VolumeTierMoveDatFromRemoteRequest, VolumeTierMoveDatFromRemoteResponse]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_VolumeTierMoveDatFromRemoteServer = grpc.ServerStreamingServer[VolumeTierMoveDatFromRemoteResponse]
							 | 
						|
								
							 | 
						|
								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: VolumeServer_VolumeServerStatus_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_VolumeServerLeave_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_FetchAndWriteNeedle_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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, &grpc.GenericServerStream[QueryRequest, QueriedStripe]{ServerStream: stream})
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
							 | 
						|
								type VolumeServer_QueryServer = grpc.ServerStreamingServer[QueriedStripe]
							 | 
						|
								
							 | 
						|
								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: VolumeServer_VolumeNeedleStatus_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: VolumeServer_Ping_FullMethodName,
							 | 
						|
									}
							 | 
						|
									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: "ReadNeedleMeta",
							 | 
						|
											Handler:    _VolumeServer_ReadNeedleMeta_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: "VolumeEcShardsInfo",
							 | 
						|
											Handler:    _VolumeServer_VolumeEcShardsInfo_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:    "ReceiveFile",
							 | 
						|
											Handler:       _VolumeServer_ReceiveFile_Handler,
							 | 
						|
											ClientStreams: 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",
							 | 
						|
								}
							 |