diff options
author | Mateusz Nowotyński <maxmati4@gmail.com> | 2019-11-29 02:24:46 +0300 |
---|---|---|
committer | jramsay <maxmati4@gmail.com> | 2020-02-06 22:29:01 +0300 |
commit | eef10e2217463c7c3582604ebdebae36679e43f4 (patch) | |
tree | 8781b89a8c0320449d17871fc0112364171e25f7 /proto/objectpool.proto | |
parent | fc5321467ae7f2a9d39e81f3f700495292fd785e (diff) |
Use field annotation for target and additional repository
Instead of setting OID in the RPC method use annotation in the field
(`target_repository` and `additional_repository`). Having only this 2
annotations created a problem with messages that can be either target
or additional repository (for example `ObjectPool`). Those are marked
with `repository` annotation and `target_repository` and
`additional_repository` are used in the parent messages.
Signed-off-by: Mateusz Nowotyński <maxmati4@gmail.com>
Signed-off-by: jramsay <maxmati4@gmail.com>
Diffstat (limited to 'proto/objectpool.proto')
-rw-r--r-- | proto/objectpool.proto | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/proto/objectpool.proto b/proto/objectpool.proto index 128e7dfcc..be20ac526 100644 --- a/proto/objectpool.proto +++ b/proto/objectpool.proto @@ -10,13 +10,11 @@ service ObjectPoolService { rpc CreateObjectPool(CreateObjectPoolRequest) returns (CreateObjectPoolResponse) { option (op_type) = { op: MUTATOR - target_repository_field: "1.1" - additional_repository_field: "2" }; + }; } rpc DeleteObjectPool(DeleteObjectPoolRequest) returns (DeleteObjectPoolResponse) { option (op_type) = { op: MUTATOR - target_repository_field: "1.1" }; } @@ -24,41 +22,32 @@ service ObjectPoolService { rpc LinkRepositoryToObjectPool(LinkRepositoryToObjectPoolRequest) returns (LinkRepositoryToObjectPoolResponse) { option (op_type) = { op: MUTATOR - target_repository_field: "2" - additional_repository_field: "1.1" }; } rpc UnlinkRepositoryFromObjectPool(UnlinkRepositoryFromObjectPoolRequest) returns (UnlinkRepositoryFromObjectPoolResponse) { option (op_type) = { op: MUTATOR - target_repository_field: "1" - additional_repository_field: "2" }; } rpc ReduplicateRepository(ReduplicateRepositoryRequest) returns (ReduplicateRepositoryResponse) { option (op_type) = { op: MUTATOR - target_repository_field: "1" }; } rpc DisconnectGitAlternates(DisconnectGitAlternatesRequest) returns (DisconnectGitAlternatesResponse) { option (op_type) = { op: MUTATOR - target_repository_field: "1" }; } rpc FetchIntoObjectPool(FetchIntoObjectPoolRequest) returns (FetchIntoObjectPoolResponse) { option (op_type) = { op: MUTATOR - target_repository_field: "2.1" - additional_repository_field: "1" }; } rpc GetObjectPool(GetObjectPoolRequest) returns (GetObjectPoolResponse) { option (op_type) = { op: ACCESSOR - target_repository_field: "1" }; } } @@ -66,52 +55,52 @@ service ObjectPoolService { // Creates an object pool from the repository. The client is responsible for // joining this pool later with this repository. message CreateObjectPoolRequest { - ObjectPool object_pool = 1; // already specified as the target repo field - Repository origin = 2; + ObjectPool object_pool = 1 [(target_repository)=true]; + Repository origin = 2 [(additional_repository)=true]; } message CreateObjectPoolResponse {} // Removes the directory from disk, caller is responsible for leaving the object // pool before calling this RPC message DeleteObjectPoolRequest { - ObjectPool object_pool = 1; + ObjectPool object_pool = 1 [(target_repository)=true]; } message DeleteObjectPoolResponse {} message LinkRepositoryToObjectPoolRequest { - ObjectPool object_pool = 1; - Repository repository = 2; + ObjectPool object_pool = 1 [(additional_repository)=true]; + Repository repository = 2 [(target_repository)=true]; } message LinkRepositoryToObjectPoolResponse {} // This RPC doesn't require the ObjectPool as it will remove the alternates file // from the pool participant. The caller is responsible no data loss occurs. message UnlinkRepositoryFromObjectPoolRequest { - Repository repository = 1; // already specified as the target repo field - ObjectPool object_pool = 2; + Repository repository = 1 [(target_repository)=true]; // already specified as the target repo field + ObjectPool object_pool = 2 [(additional_repository)=true]; } message UnlinkRepositoryFromObjectPoolResponse {} message ReduplicateRepositoryRequest { - Repository repository = 1; + Repository repository = 1 [(target_repository)=true]; } message ReduplicateRepositoryResponse {} message DisconnectGitAlternatesRequest { - Repository repository = 1; + Repository repository = 1 [(target_repository)=true]; } message DisconnectGitAlternatesResponse {} message FetchIntoObjectPoolRequest { - Repository origin = 1; - ObjectPool object_pool = 2; + Repository origin = 1 [(additional_repository)=true]; + ObjectPool object_pool = 2 [(target_repository)=true]; bool repack = 3; } message FetchIntoObjectPoolResponse {} message GetObjectPoolRequest { - Repository repository = 1; + Repository repository = 1 [(target_repository)=true]; } message GetObjectPoolResponse { |