syntax = "proto3"; package volume_server_pb; ////////////////////////////////////////////////// service VolumeServer { //Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas. rpc BatchDelete (BatchDeleteRequest) returns (BatchDeleteResponse) { } rpc VacuumVolumeCheck (VacuumVolumeCheckRequest) returns (VacuumVolumeCheckResponse) { } rpc VacuumVolumeCompact (VacuumVolumeCompactRequest) returns (VacuumVolumeCompactResponse) { } rpc VacuumVolumeCommit (VacuumVolumeCommitRequest) returns (VacuumVolumeCommitResponse) { } rpc VacuumVolumeCleanup (VacuumVolumeCleanupRequest) returns (VacuumVolumeCleanupResponse) { } rpc DeleteCollection (DeleteCollectionRequest) returns (DeleteCollectionResponse) { } rpc AssignVolume (AssignVolumeRequest) returns (AssignVolumeResponse) { } rpc VolumeSyncStatus (VolumeSyncStatusRequest) returns (VolumeSyncStatusResponse) { } rpc VolumeSyncIndex (VolumeSyncIndexRequest) returns (stream VolumeSyncIndexResponse) { } rpc VolumeSyncData (VolumeSyncDataRequest) returns (stream VolumeSyncDataResponse) { } rpc VolumeMount (VolumeMountRequest) returns (VolumeMountResponse) { } rpc VolumeUnmount (VolumeUnmountRequest) returns (VolumeUnmountResponse) { } rpc VolumeDelete (VolumeDeleteRequest) returns (VolumeDeleteResponse) { } rpc ReplicateVolume (ReplicateVolumeRequest) returns (ReplicateVolumeResponse) { } rpc ReadVolumeFileStatus (ReadVolumeFileStatusRequest) returns (ReadVolumeFileStatusResponse) { } rpc CopyFile (CopyFileRequest) returns (stream CopyFileResponse) { } } ////////////////////////////////////////////////// message BatchDeleteRequest { repeated string file_ids = 1; } message BatchDeleteResponse { repeated DeleteResult results = 1; } message DeleteResult { string file_id = 1; int32 status = 2; string error = 3; uint32 size = 4; } message Empty { } message VacuumVolumeCheckRequest { uint32 volume_id = 1; } message VacuumVolumeCheckResponse { double garbage_ratio = 1; } message VacuumVolumeCompactRequest { uint32 volume_id = 1; int64 preallocate = 2; } message VacuumVolumeCompactResponse { } message VacuumVolumeCommitRequest { uint32 volume_id = 1; } message VacuumVolumeCommitResponse { } message VacuumVolumeCleanupRequest { uint32 volume_id = 1; } message VacuumVolumeCleanupResponse { } message DeleteCollectionRequest { string collection = 1; } message DeleteCollectionResponse { } message AssignVolumeRequest { uint32 volume_id = 1; string collection = 2; int64 preallocate = 3; string replication = 4; string ttl = 5; } message AssignVolumeResponse { } message VolumeSyncStatusRequest { uint32 volume_id = 1; } message VolumeSyncStatusResponse { uint32 volume_id = 1; string collection = 2; string replication = 4; string ttl = 5; uint64 tail_offset = 6; uint32 compact_revision = 7; uint64 idx_file_size = 8; } message VolumeSyncIndexRequest { uint32 volume_id = 1; } message VolumeSyncIndexResponse { bytes index_file_content = 1; } message VolumeSyncDataRequest { uint32 volume_id = 1; uint32 revision = 2; uint32 offset = 3; uint32 size = 4; string needle_id = 5; } message VolumeSyncDataResponse { bytes file_content = 1; } message VolumeMountRequest { uint32 volume_id = 1; } message VolumeMountResponse { } message VolumeUnmountRequest { uint32 volume_id = 1; } message VolumeUnmountResponse { } message VolumeDeleteRequest { uint32 volume_id = 1; } message VolumeDeleteResponse { } message ReplicateVolumeRequest { uint32 volume_id = 1; string collection = 2; string replication = 3; string ttl = 4; string source_data_node = 5; } message ReplicateVolumeResponse { } message CopyFileRequest { uint32 volume_id = 1; bool is_idx_file = 2; bool is_dat_file = 3; } message CopyFileResponse { bytes file_content = 1; } message ReadVolumeFileStatusRequest { uint32 volume_id = 1; } message ReadVolumeFileStatusResponse { uint32 volume_id = 1; uint64 idx_file_timestamp = 2; uint64 idx_file_size = 3; uint64 dat_file_timestamp = 4; uint64 dat_file_size = 5; } message DiskStatus { string dir = 1; uint64 all = 2; uint64 used = 3; uint64 free = 4; } message MemStatus { int32 goroutines = 1; uint64 all = 2; uint64 used = 3; uint64 free = 4; uint64 self = 5; uint64 heap = 6; uint64 stack = 7; }