Class: Gitlab::GitalyClient::ObjectPoolService
- Inherits:
-
Object
- Object
- Gitlab::GitalyClient::ObjectPoolService
- Includes:
- WithFeatureFlagActors
- Defined in:
- lib/gitlab/gitaly_client/object_pool_service.rb
Instance Attribute Summary collapse
-
#object_pool ⇒ Object
readonly
Returns the value of attribute object_pool.
-
#storage ⇒ Object
readonly
Returns the value of attribute storage.
Attributes included from WithFeatureFlagActors
Instance Method Summary collapse
- #create(repository) ⇒ Object
- #delete ⇒ Object
- #fetch(repository) ⇒ Object
-
#initialize(object_pool) ⇒ ObjectPoolService
constructor
A new instance of ObjectPoolService.
- #link_repository(repository) ⇒ Object
Methods included from WithFeatureFlagActors
#gitaly_client_call, #gitaly_feature_flag_actors, #group_actor, #project_actor, #user_actor
Constructor Details
#initialize(object_pool) ⇒ ObjectPoolService
Returns a new instance of ObjectPoolService.
10 11 12 13 |
# File 'lib/gitlab/gitaly_client/object_pool_service.rb', line 10 def initialize(object_pool) @object_pool = object_pool.gitaly_object_pool @storage = object_pool.storage end |
Instance Attribute Details
#object_pool ⇒ Object (readonly)
Returns the value of attribute object_pool.
8 9 10 |
# File 'lib/gitlab/gitaly_client/object_pool_service.rb', line 8 def object_pool @object_pool end |
#storage ⇒ Object (readonly)
Returns the value of attribute storage.
8 9 10 |
# File 'lib/gitlab/gitaly_client/object_pool_service.rb', line 8 def storage @storage end |
Instance Method Details
#create(repository) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/gitlab/gitaly_client/object_pool_service.rb', line 15 def create(repository) request = Gitaly::CreateObjectPoolRequest.new( object_pool: object_pool, origin: repository.gitaly_repository) GitalyClient.with_feature_flag_actors(**gitaly_feature_flag_actors(repository)) do GitalyClient.call(storage, :object_pool_service, :create_object_pool, request, timeout: GitalyClient.medium_timeout) end end |
#delete ⇒ Object
26 27 28 29 30 31 |
# File 'lib/gitlab/gitaly_client/object_pool_service.rb', line 26 def delete request = Gitaly::DeleteObjectPoolRequest.new(object_pool: object_pool) GitalyClient.call(storage, :object_pool_service, :delete_object_pool, request, timeout: GitalyClient.long_timeout) end |
#fetch(repository) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/gitlab/gitaly_client/object_pool_service.rb', line 45 def fetch(repository) request = Gitaly::FetchIntoObjectPoolRequest.new( object_pool: object_pool, origin: repository.gitaly_repository ) GitalyClient.with_feature_flag_actors(**gitaly_feature_flag_actors(repository)) do GitalyClient.call(storage, :object_pool_service, :fetch_into_object_pool, request, timeout: GitalyClient.long_timeout) end end |
#link_repository(repository) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/gitlab/gitaly_client/object_pool_service.rb', line 33 def link_repository(repository) request = Gitaly::LinkRepositoryToObjectPoolRequest.new( object_pool: object_pool, repository: repository.gitaly_repository ) GitalyClient.with_feature_flag_actors(**gitaly_feature_flag_actors(repository)) do GitalyClient.call(storage, :object_pool_service, :link_repository_to_object_pool, request, timeout: GitalyClient.fast_timeout) end end |