machi.proto definition for low-level protocol ops
This commit is contained in:
parent
cf0d9a25b4
commit
90efc41167
1 changed files with 131 additions and 1 deletions
132
src/machi.proto
132
src/machi.proto
|
@ -184,8 +184,10 @@ message Mpb_ReadChunkReq {
|
|||
required string file = 1;
|
||||
required uint64 offset = 2;
|
||||
required uint32 size = 3;
|
||||
|
||||
// Use flag_checksum=non-zero to request the chunk's checksum also
|
||||
optional uint32 flag_checksum = 4 [default=0];
|
||||
|
||||
// Use flag_no_chunk=non-zero to skip returning the chunk (which
|
||||
// only makes sense if flag_checksum is set).
|
||||
optional uint32 flag_no_chunk = 5 [default=0];
|
||||
|
@ -312,10 +314,138 @@ message Mpb_ProjectionV1 {
|
|||
//
|
||||
// echo() : Mpb_EchoReq and Mpb_EchoResp (reused from high level API)
|
||||
// auth() : Mpb_AuthReq and Mpb_AuthResp (reused from high level API)
|
||||
// get_latest_epochid() : Mpb_GetLatestEpochIDReq and Mpb_GetLatestEpochIDResp
|
||||
//
|
||||
// File-I/O-related:
|
||||
//
|
||||
// append_chunk()
|
||||
// write_chunk()
|
||||
// read_chunk()
|
||||
// checksum_list()
|
||||
// list_files()
|
||||
// wedge_status()
|
||||
// delete_migration()
|
||||
// trunc_hack()
|
||||
//
|
||||
// Projection-related:
|
||||
//
|
||||
// get_latest_epochid()
|
||||
// read_latest_projection()
|
||||
// read_projection()
|
||||
// write_projection()
|
||||
// get_all_projections()
|
||||
// list_all_projections()
|
||||
//
|
||||
//////////////////////////////////////////
|
||||
|
||||
// Low level API: append_chunk()
|
||||
|
||||
message Mpb_LL_AppendChunkReq {
|
||||
required Mpb_EpochID epoch_id = 1;
|
||||
optional bytes placement_key = 2;
|
||||
required string prefix = 3;
|
||||
required bytes chunk = 4;
|
||||
required Mpb_ChunkCSum csum = 5;
|
||||
optional uint32 chunk_extra = 6;
|
||||
}
|
||||
|
||||
message Mpb_LL_AppendChunkResp {
|
||||
required Mpb_GeneralStatusCode status = 1;
|
||||
// If OK, then chunk_pos is defined.
|
||||
optional Mpb_ChunkPos chunk_pos = 2;
|
||||
}
|
||||
|
||||
// Low level API: write_chunk()
|
||||
|
||||
message Mpb_LL_WriteChunkReq {
|
||||
required Mpb_EpochID epoch_id = 1;
|
||||
required string file = 2;
|
||||
required uint64 offset = 3;
|
||||
required bytes chunk = 4;
|
||||
required Mpb_ChunkCSum csum = 5;
|
||||
}
|
||||
|
||||
message Mpb_LL_WriteChunkResp {
|
||||
required Mpb_GeneralStatusCode status = 1;
|
||||
}
|
||||
|
||||
// Low level API: read_chunk()
|
||||
|
||||
message Mpb_LL_ReadChunkReq {
|
||||
required Mpb_EpochID epoch_id = 1;
|
||||
required string file = 2;
|
||||
required uint64 offset = 3;
|
||||
required uint32 size = 4;
|
||||
|
||||
// Use flag_checksum=non-zero to request the chunk's checksum also
|
||||
optional uint32 flag_checksum = 5 [default=0];
|
||||
|
||||
// Use flag_no_chunk=non-zero to skip returning the chunk (which
|
||||
// only makes sense if flag_checksum is set).
|
||||
optional uint32 flag_no_chunk = 6 [default=0];
|
||||
}
|
||||
|
||||
message Mpb_LL_ReadChunkResp {
|
||||
required Mpb_GeneralStatusCode status = 1;
|
||||
optional bytes chunk = 2;
|
||||
optional Mpb_ChunkCSum csum = 3;
|
||||
}
|
||||
|
||||
// Low level API: checksum_list()
|
||||
|
||||
message Mpb_LL_ChecksumListReq {
|
||||
required Mpb_EpochID epoch_id = 1;
|
||||
required string file = 2;
|
||||
}
|
||||
|
||||
message Mpb_LL_ChecksumListResp {
|
||||
required Mpb_GeneralStatusCode status = 1;
|
||||
optional bytes chunk = 2;
|
||||
}
|
||||
|
||||
// Low level API: list_files()
|
||||
|
||||
message Mpb_LL_ListFilesReq {
|
||||
required Mpb_EpochID epoch_id = 1;
|
||||
}
|
||||
|
||||
message Mpb_LL_ListFilesResp {
|
||||
required Mpb_GeneralStatusCode status = 1;
|
||||
repeated Mpb_FileInfo files = 2;
|
||||
}
|
||||
|
||||
// Low level API: wedge_status()
|
||||
|
||||
message Mpb_LL_WedgeStatusReq {
|
||||
// No options
|
||||
}
|
||||
|
||||
message Mpb_LL_WedgeStatusResp {
|
||||
required Mpb_EpochID epoch_id = 1;
|
||||
required uint32 wedged_flag = 2;
|
||||
}
|
||||
|
||||
// Low level API: delete_migration()
|
||||
|
||||
message Mpb_LL_DeleteMigrationReq {
|
||||
required Mpb_EpochID epoch_id = 1;
|
||||
required string file = 2;
|
||||
}
|
||||
|
||||
message Mpb_LL_DeleteMigrationResp {
|
||||
required Mpb_GeneralStatusCode status = 1;
|
||||
}
|
||||
|
||||
// Low level API: trunc_hack()
|
||||
|
||||
message Mpb_LL_TruncHackReq {
|
||||
required Mpb_EpochID epoch_id = 1;
|
||||
required string file = 2;
|
||||
}
|
||||
|
||||
message Mpb_LL_TruncHackResp {
|
||||
required Mpb_GeneralStatusCode status = 1;
|
||||
}
|
||||
|
||||
// Low level API: get_latest_epochid() request & response
|
||||
|
||||
message Mpb_LL_GetLatestEpochIDReq {
|
||||
|
|
Loading…
Reference in a new issue