// Code generated by protoc-gen-go. DO NOT EDIT.
// source: objectpool.proto

package gitalypb // import "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// Creates an object pool from the repository. The client is responsible for
// joining this pool later with this repository.
type CreateObjectPoolRequest struct {
	ObjectPool           *ObjectPool `protobuf:"bytes,1,opt,name=object_pool,json=objectPool,proto3" json:"object_pool,omitempty"`
	Origin               *Repository `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *CreateObjectPoolRequest) Reset()         { *m = CreateObjectPoolRequest{} }
func (m *CreateObjectPoolRequest) String() string { return proto.CompactTextString(m) }
func (*CreateObjectPoolRequest) ProtoMessage()    {}
func (*CreateObjectPoolRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{0}
}
func (m *CreateObjectPoolRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateObjectPoolRequest.Unmarshal(m, b)
}
func (m *CreateObjectPoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateObjectPoolRequest.Marshal(b, m, deterministic)
}
func (dst *CreateObjectPoolRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateObjectPoolRequest.Merge(dst, src)
}
func (m *CreateObjectPoolRequest) XXX_Size() int {
	return xxx_messageInfo_CreateObjectPoolRequest.Size(m)
}
func (m *CreateObjectPoolRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateObjectPoolRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateObjectPoolRequest proto.InternalMessageInfo

func (m *CreateObjectPoolRequest) GetObjectPool() *ObjectPool {
	if m != nil {
		return m.ObjectPool
	}
	return nil
}

func (m *CreateObjectPoolRequest) GetOrigin() *Repository {
	if m != nil {
		return m.Origin
	}
	return nil
}

type CreateObjectPoolResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateObjectPoolResponse) Reset()         { *m = CreateObjectPoolResponse{} }
func (m *CreateObjectPoolResponse) String() string { return proto.CompactTextString(m) }
func (*CreateObjectPoolResponse) ProtoMessage()    {}
func (*CreateObjectPoolResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{1}
}
func (m *CreateObjectPoolResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateObjectPoolResponse.Unmarshal(m, b)
}
func (m *CreateObjectPoolResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateObjectPoolResponse.Marshal(b, m, deterministic)
}
func (dst *CreateObjectPoolResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateObjectPoolResponse.Merge(dst, src)
}
func (m *CreateObjectPoolResponse) XXX_Size() int {
	return xxx_messageInfo_CreateObjectPoolResponse.Size(m)
}
func (m *CreateObjectPoolResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateObjectPoolResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CreateObjectPoolResponse proto.InternalMessageInfo

// Removes the directory from disk, caller is responsible for leaving the object
// pool before calling this RPC
type DeleteObjectPoolRequest struct {
	ObjectPool           *ObjectPool `protobuf:"bytes,1,opt,name=object_pool,json=objectPool,proto3" json:"object_pool,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *DeleteObjectPoolRequest) Reset()         { *m = DeleteObjectPoolRequest{} }
func (m *DeleteObjectPoolRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteObjectPoolRequest) ProtoMessage()    {}
func (*DeleteObjectPoolRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{2}
}
func (m *DeleteObjectPoolRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteObjectPoolRequest.Unmarshal(m, b)
}
func (m *DeleteObjectPoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteObjectPoolRequest.Marshal(b, m, deterministic)
}
func (dst *DeleteObjectPoolRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteObjectPoolRequest.Merge(dst, src)
}
func (m *DeleteObjectPoolRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteObjectPoolRequest.Size(m)
}
func (m *DeleteObjectPoolRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteObjectPoolRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteObjectPoolRequest proto.InternalMessageInfo

func (m *DeleteObjectPoolRequest) GetObjectPool() *ObjectPool {
	if m != nil {
		return m.ObjectPool
	}
	return nil
}

type DeleteObjectPoolResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteObjectPoolResponse) Reset()         { *m = DeleteObjectPoolResponse{} }
func (m *DeleteObjectPoolResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteObjectPoolResponse) ProtoMessage()    {}
func (*DeleteObjectPoolResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{3}
}
func (m *DeleteObjectPoolResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteObjectPoolResponse.Unmarshal(m, b)
}
func (m *DeleteObjectPoolResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteObjectPoolResponse.Marshal(b, m, deterministic)
}
func (dst *DeleteObjectPoolResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteObjectPoolResponse.Merge(dst, src)
}
func (m *DeleteObjectPoolResponse) XXX_Size() int {
	return xxx_messageInfo_DeleteObjectPoolResponse.Size(m)
}
func (m *DeleteObjectPoolResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteObjectPoolResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteObjectPoolResponse proto.InternalMessageInfo

type LinkRepositoryToObjectPoolRequest struct {
	ObjectPool           *ObjectPool `protobuf:"bytes,1,opt,name=object_pool,json=objectPool,proto3" json:"object_pool,omitempty"`
	Repository           *Repository `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *LinkRepositoryToObjectPoolRequest) Reset()         { *m = LinkRepositoryToObjectPoolRequest{} }
func (m *LinkRepositoryToObjectPoolRequest) String() string { return proto.CompactTextString(m) }
func (*LinkRepositoryToObjectPoolRequest) ProtoMessage()    {}
func (*LinkRepositoryToObjectPoolRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{4}
}
func (m *LinkRepositoryToObjectPoolRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LinkRepositoryToObjectPoolRequest.Unmarshal(m, b)
}
func (m *LinkRepositoryToObjectPoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LinkRepositoryToObjectPoolRequest.Marshal(b, m, deterministic)
}
func (dst *LinkRepositoryToObjectPoolRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LinkRepositoryToObjectPoolRequest.Merge(dst, src)
}
func (m *LinkRepositoryToObjectPoolRequest) XXX_Size() int {
	return xxx_messageInfo_LinkRepositoryToObjectPoolRequest.Size(m)
}
func (m *LinkRepositoryToObjectPoolRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_LinkRepositoryToObjectPoolRequest.DiscardUnknown(m)
}

var xxx_messageInfo_LinkRepositoryToObjectPoolRequest proto.InternalMessageInfo

func (m *LinkRepositoryToObjectPoolRequest) GetObjectPool() *ObjectPool {
	if m != nil {
		return m.ObjectPool
	}
	return nil
}

func (m *LinkRepositoryToObjectPoolRequest) GetRepository() *Repository {
	if m != nil {
		return m.Repository
	}
	return nil
}

type LinkRepositoryToObjectPoolResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LinkRepositoryToObjectPoolResponse) Reset()         { *m = LinkRepositoryToObjectPoolResponse{} }
func (m *LinkRepositoryToObjectPoolResponse) String() string { return proto.CompactTextString(m) }
func (*LinkRepositoryToObjectPoolResponse) ProtoMessage()    {}
func (*LinkRepositoryToObjectPoolResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{5}
}
func (m *LinkRepositoryToObjectPoolResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LinkRepositoryToObjectPoolResponse.Unmarshal(m, b)
}
func (m *LinkRepositoryToObjectPoolResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LinkRepositoryToObjectPoolResponse.Marshal(b, m, deterministic)
}
func (dst *LinkRepositoryToObjectPoolResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LinkRepositoryToObjectPoolResponse.Merge(dst, src)
}
func (m *LinkRepositoryToObjectPoolResponse) XXX_Size() int {
	return xxx_messageInfo_LinkRepositoryToObjectPoolResponse.Size(m)
}
func (m *LinkRepositoryToObjectPoolResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_LinkRepositoryToObjectPoolResponse.DiscardUnknown(m)
}

var xxx_messageInfo_LinkRepositoryToObjectPoolResponse proto.InternalMessageInfo

// 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.
type UnlinkRepositoryFromObjectPoolRequest struct {
	Repository           *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	ObjectPool           *ObjectPool `protobuf:"bytes,2,opt,name=object_pool,json=objectPool,proto3" json:"object_pool,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *UnlinkRepositoryFromObjectPoolRequest) Reset()         { *m = UnlinkRepositoryFromObjectPoolRequest{} }
func (m *UnlinkRepositoryFromObjectPoolRequest) String() string { return proto.CompactTextString(m) }
func (*UnlinkRepositoryFromObjectPoolRequest) ProtoMessage()    {}
func (*UnlinkRepositoryFromObjectPoolRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{6}
}
func (m *UnlinkRepositoryFromObjectPoolRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UnlinkRepositoryFromObjectPoolRequest.Unmarshal(m, b)
}
func (m *UnlinkRepositoryFromObjectPoolRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UnlinkRepositoryFromObjectPoolRequest.Marshal(b, m, deterministic)
}
func (dst *UnlinkRepositoryFromObjectPoolRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UnlinkRepositoryFromObjectPoolRequest.Merge(dst, src)
}
func (m *UnlinkRepositoryFromObjectPoolRequest) XXX_Size() int {
	return xxx_messageInfo_UnlinkRepositoryFromObjectPoolRequest.Size(m)
}
func (m *UnlinkRepositoryFromObjectPoolRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UnlinkRepositoryFromObjectPoolRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UnlinkRepositoryFromObjectPoolRequest proto.InternalMessageInfo

func (m *UnlinkRepositoryFromObjectPoolRequest) GetRepository() *Repository {
	if m != nil {
		return m.Repository
	}
	return nil
}

func (m *UnlinkRepositoryFromObjectPoolRequest) GetObjectPool() *ObjectPool {
	if m != nil {
		return m.ObjectPool
	}
	return nil
}

type UnlinkRepositoryFromObjectPoolResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UnlinkRepositoryFromObjectPoolResponse) Reset() {
	*m = UnlinkRepositoryFromObjectPoolResponse{}
}
func (m *UnlinkRepositoryFromObjectPoolResponse) String() string { return proto.CompactTextString(m) }
func (*UnlinkRepositoryFromObjectPoolResponse) ProtoMessage()    {}
func (*UnlinkRepositoryFromObjectPoolResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{7}
}
func (m *UnlinkRepositoryFromObjectPoolResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UnlinkRepositoryFromObjectPoolResponse.Unmarshal(m, b)
}
func (m *UnlinkRepositoryFromObjectPoolResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UnlinkRepositoryFromObjectPoolResponse.Marshal(b, m, deterministic)
}
func (dst *UnlinkRepositoryFromObjectPoolResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UnlinkRepositoryFromObjectPoolResponse.Merge(dst, src)
}
func (m *UnlinkRepositoryFromObjectPoolResponse) XXX_Size() int {
	return xxx_messageInfo_UnlinkRepositoryFromObjectPoolResponse.Size(m)
}
func (m *UnlinkRepositoryFromObjectPoolResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_UnlinkRepositoryFromObjectPoolResponse.DiscardUnknown(m)
}

var xxx_messageInfo_UnlinkRepositoryFromObjectPoolResponse proto.InternalMessageInfo

type ReduplicateRepositoryRequest struct {
	Repository           *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *ReduplicateRepositoryRequest) Reset()         { *m = ReduplicateRepositoryRequest{} }
func (m *ReduplicateRepositoryRequest) String() string { return proto.CompactTextString(m) }
func (*ReduplicateRepositoryRequest) ProtoMessage()    {}
func (*ReduplicateRepositoryRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{8}
}
func (m *ReduplicateRepositoryRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReduplicateRepositoryRequest.Unmarshal(m, b)
}
func (m *ReduplicateRepositoryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReduplicateRepositoryRequest.Marshal(b, m, deterministic)
}
func (dst *ReduplicateRepositoryRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReduplicateRepositoryRequest.Merge(dst, src)
}
func (m *ReduplicateRepositoryRequest) XXX_Size() int {
	return xxx_messageInfo_ReduplicateRepositoryRequest.Size(m)
}
func (m *ReduplicateRepositoryRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ReduplicateRepositoryRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ReduplicateRepositoryRequest proto.InternalMessageInfo

func (m *ReduplicateRepositoryRequest) GetRepository() *Repository {
	if m != nil {
		return m.Repository
	}
	return nil
}

type ReduplicateRepositoryResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReduplicateRepositoryResponse) Reset()         { *m = ReduplicateRepositoryResponse{} }
func (m *ReduplicateRepositoryResponse) String() string { return proto.CompactTextString(m) }
func (*ReduplicateRepositoryResponse) ProtoMessage()    {}
func (*ReduplicateRepositoryResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_objectpool_52b9473682df345b, []int{9}
}
func (m *ReduplicateRepositoryResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReduplicateRepositoryResponse.Unmarshal(m, b)
}
func (m *ReduplicateRepositoryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReduplicateRepositoryResponse.Marshal(b, m, deterministic)
}
func (dst *ReduplicateRepositoryResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReduplicateRepositoryResponse.Merge(dst, src)
}
func (m *ReduplicateRepositoryResponse) XXX_Size() int {
	return xxx_messageInfo_ReduplicateRepositoryResponse.Size(m)
}
func (m *ReduplicateRepositoryResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ReduplicateRepositoryResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ReduplicateRepositoryResponse proto.InternalMessageInfo

func init() {
	proto.RegisterType((*CreateObjectPoolRequest)(nil), "gitaly.CreateObjectPoolRequest")
	proto.RegisterType((*CreateObjectPoolResponse)(nil), "gitaly.CreateObjectPoolResponse")
	proto.RegisterType((*DeleteObjectPoolRequest)(nil), "gitaly.DeleteObjectPoolRequest")
	proto.RegisterType((*DeleteObjectPoolResponse)(nil), "gitaly.DeleteObjectPoolResponse")
	proto.RegisterType((*LinkRepositoryToObjectPoolRequest)(nil), "gitaly.LinkRepositoryToObjectPoolRequest")
	proto.RegisterType((*LinkRepositoryToObjectPoolResponse)(nil), "gitaly.LinkRepositoryToObjectPoolResponse")
	proto.RegisterType((*UnlinkRepositoryFromObjectPoolRequest)(nil), "gitaly.UnlinkRepositoryFromObjectPoolRequest")
	proto.RegisterType((*UnlinkRepositoryFromObjectPoolResponse)(nil), "gitaly.UnlinkRepositoryFromObjectPoolResponse")
	proto.RegisterType((*ReduplicateRepositoryRequest)(nil), "gitaly.ReduplicateRepositoryRequest")
	proto.RegisterType((*ReduplicateRepositoryResponse)(nil), "gitaly.ReduplicateRepositoryResponse")
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// ObjectPoolServiceClient is the client API for ObjectPoolService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ObjectPoolServiceClient interface {
	CreateObjectPool(ctx context.Context, in *CreateObjectPoolRequest, opts ...grpc.CallOption) (*CreateObjectPoolResponse, error)
	DeleteObjectPool(ctx context.Context, in *DeleteObjectPoolRequest, opts ...grpc.CallOption) (*DeleteObjectPoolResponse, error)
	// Repositories are assumed to be stored on the same disk
	LinkRepositoryToObjectPool(ctx context.Context, in *LinkRepositoryToObjectPoolRequest, opts ...grpc.CallOption) (*LinkRepositoryToObjectPoolResponse, error)
	UnlinkRepositoryFromObjectPool(ctx context.Context, in *UnlinkRepositoryFromObjectPoolRequest, opts ...grpc.CallOption) (*UnlinkRepositoryFromObjectPoolResponse, error)
	ReduplicateRepository(ctx context.Context, in *ReduplicateRepositoryRequest, opts ...grpc.CallOption) (*ReduplicateRepositoryResponse, error)
}

type objectPoolServiceClient struct {
	cc *grpc.ClientConn
}

func NewObjectPoolServiceClient(cc *grpc.ClientConn) ObjectPoolServiceClient {
	return &objectPoolServiceClient{cc}
}

func (c *objectPoolServiceClient) CreateObjectPool(ctx context.Context, in *CreateObjectPoolRequest, opts ...grpc.CallOption) (*CreateObjectPoolResponse, error) {
	out := new(CreateObjectPoolResponse)
	err := c.cc.Invoke(ctx, "/gitaly.ObjectPoolService/CreateObjectPool", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *objectPoolServiceClient) DeleteObjectPool(ctx context.Context, in *DeleteObjectPoolRequest, opts ...grpc.CallOption) (*DeleteObjectPoolResponse, error) {
	out := new(DeleteObjectPoolResponse)
	err := c.cc.Invoke(ctx, "/gitaly.ObjectPoolService/DeleteObjectPool", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *objectPoolServiceClient) LinkRepositoryToObjectPool(ctx context.Context, in *LinkRepositoryToObjectPoolRequest, opts ...grpc.CallOption) (*LinkRepositoryToObjectPoolResponse, error) {
	out := new(LinkRepositoryToObjectPoolResponse)
	err := c.cc.Invoke(ctx, "/gitaly.ObjectPoolService/LinkRepositoryToObjectPool", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *objectPoolServiceClient) UnlinkRepositoryFromObjectPool(ctx context.Context, in *UnlinkRepositoryFromObjectPoolRequest, opts ...grpc.CallOption) (*UnlinkRepositoryFromObjectPoolResponse, error) {
	out := new(UnlinkRepositoryFromObjectPoolResponse)
	err := c.cc.Invoke(ctx, "/gitaly.ObjectPoolService/UnlinkRepositoryFromObjectPool", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *objectPoolServiceClient) ReduplicateRepository(ctx context.Context, in *ReduplicateRepositoryRequest, opts ...grpc.CallOption) (*ReduplicateRepositoryResponse, error) {
	out := new(ReduplicateRepositoryResponse)
	err := c.cc.Invoke(ctx, "/gitaly.ObjectPoolService/ReduplicateRepository", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ObjectPoolServiceServer is the server API for ObjectPoolService service.
type ObjectPoolServiceServer interface {
	CreateObjectPool(context.Context, *CreateObjectPoolRequest) (*CreateObjectPoolResponse, error)
	DeleteObjectPool(context.Context, *DeleteObjectPoolRequest) (*DeleteObjectPoolResponse, error)
	// Repositories are assumed to be stored on the same disk
	LinkRepositoryToObjectPool(context.Context, *LinkRepositoryToObjectPoolRequest) (*LinkRepositoryToObjectPoolResponse, error)
	UnlinkRepositoryFromObjectPool(context.Context, *UnlinkRepositoryFromObjectPoolRequest) (*UnlinkRepositoryFromObjectPoolResponse, error)
	ReduplicateRepository(context.Context, *ReduplicateRepositoryRequest) (*ReduplicateRepositoryResponse, error)
}

func RegisterObjectPoolServiceServer(s *grpc.Server, srv ObjectPoolServiceServer) {
	s.RegisterService(&_ObjectPoolService_serviceDesc, srv)
}

func _ObjectPoolService_CreateObjectPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateObjectPoolRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ObjectPoolServiceServer).CreateObjectPool(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gitaly.ObjectPoolService/CreateObjectPool",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ObjectPoolServiceServer).CreateObjectPool(ctx, req.(*CreateObjectPoolRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ObjectPoolService_DeleteObjectPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteObjectPoolRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ObjectPoolServiceServer).DeleteObjectPool(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gitaly.ObjectPoolService/DeleteObjectPool",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ObjectPoolServiceServer).DeleteObjectPool(ctx, req.(*DeleteObjectPoolRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ObjectPoolService_LinkRepositoryToObjectPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LinkRepositoryToObjectPoolRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ObjectPoolServiceServer).LinkRepositoryToObjectPool(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gitaly.ObjectPoolService/LinkRepositoryToObjectPool",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ObjectPoolServiceServer).LinkRepositoryToObjectPool(ctx, req.(*LinkRepositoryToObjectPoolRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ObjectPoolService_UnlinkRepositoryFromObjectPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UnlinkRepositoryFromObjectPoolRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ObjectPoolServiceServer).UnlinkRepositoryFromObjectPool(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gitaly.ObjectPoolService/UnlinkRepositoryFromObjectPool",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ObjectPoolServiceServer).UnlinkRepositoryFromObjectPool(ctx, req.(*UnlinkRepositoryFromObjectPoolRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ObjectPoolService_ReduplicateRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReduplicateRepositoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ObjectPoolServiceServer).ReduplicateRepository(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gitaly.ObjectPoolService/ReduplicateRepository",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ObjectPoolServiceServer).ReduplicateRepository(ctx, req.(*ReduplicateRepositoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _ObjectPoolService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "gitaly.ObjectPoolService",
	HandlerType: (*ObjectPoolServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateObjectPool",
			Handler:    _ObjectPoolService_CreateObjectPool_Handler,
		},
		{
			MethodName: "DeleteObjectPool",
			Handler:    _ObjectPoolService_DeleteObjectPool_Handler,
		},
		{
			MethodName: "LinkRepositoryToObjectPool",
			Handler:    _ObjectPoolService_LinkRepositoryToObjectPool_Handler,
		},
		{
			MethodName: "UnlinkRepositoryFromObjectPool",
			Handler:    _ObjectPoolService_UnlinkRepositoryFromObjectPool_Handler,
		},
		{
			MethodName: "ReduplicateRepository",
			Handler:    _ObjectPoolService_ReduplicateRepository_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "objectpool.proto",
}

func init() { proto.RegisterFile("objectpool.proto", fileDescriptor_objectpool_52b9473682df345b) }

var fileDescriptor_objectpool_52b9473682df345b = []byte{
	// 415 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xcd, 0x4e, 0xfa, 0x40,
	0x14, 0xc5, 0x19, 0xf2, 0x4f, 0xf3, 0xcf, 0xc5, 0x05, 0x4e, 0x62, 0x20, 0x8d, 0x0a, 0x36, 0x60,
	0x90, 0x84, 0x62, 0x60, 0xe7, 0x52, 0x8d, 0x2b, 0x13, 0x4d, 0xfd, 0x4a, 0xd8, 0x98, 0xb6, 0x8c,
	0xb5, 0x5a, 0x7a, 0xeb, 0xb4, 0x98, 0xb0, 0xd4, 0x67, 0x30, 0xd1, 0x47, 0xf0, 0xf9, 0x7c, 0x02,
	0x03, 0xfd, 0x04, 0x2c, 0x54, 0xc3, 0x6e, 0x98, 0x9c, 0x39, 0xe7, 0x77, 0x67, 0x0e, 0x85, 0x22,
	0x6a, 0x0f, 0x4c, 0xf7, 0x1c, 0x44, 0x4b, 0x76, 0x38, 0x7a, 0x48, 0x05, 0xc3, 0xf4, 0x54, 0x6b,
	0x24, 0xae, 0xb9, 0xf7, 0x2a, 0x67, 0x7d, 0x7f, 0x57, 0x7a, 0x25, 0x50, 0x3a, 0xe2, 0x4c, 0xf5,
	0xd8, 0xd9, 0xe4, 0xc0, 0x39, 0xa2, 0xa5, 0xb0, 0xa7, 0x21, 0x73, 0x3d, 0xda, 0x85, 0x82, 0xef,
	0x72, 0x3b, 0xb6, 0x29, 0x93, 0x2a, 0x69, 0x14, 0x3a, 0x54, 0xf6, 0x7d, 0xe4, 0x84, 0x1e, 0x30,
	0x5a, 0xd3, 0x26, 0x08, 0xc8, 0x4d, 0xc3, 0xb4, 0xcb, 0xf9, 0x69, 0xbd, 0xc2, 0x1c, 0x74, 0x4d,
	0x0f, 0xf9, 0x48, 0x09, 0x14, 0x07, 0xc2, 0xd7, 0x7b, 0x23, 0xff, 0x9f, 0x48, 0x22, 0x94, 0xe7,
	0x19, 0x5c, 0x07, 0x6d, 0x97, 0x49, 0xd7, 0x50, 0x3a, 0x66, 0x16, 0x5b, 0x15, 0x5f, 0x32, 0x73,
	0xde, 0x37, 0xc8, 0x7c, 0x23, 0xb0, 0x73, 0x6a, 0xda, 0x8f, 0x31, 0xf2, 0x25, 0xae, 0xe8, 0x7a,
	0x3a, 0x00, 0x3c, 0x72, 0x5d, 0x70, 0x45, 0x09, 0x55, 0x84, 0x5c, 0x03, 0x69, 0x11, 0x55, 0x00,
	0xff, 0x41, 0xa0, 0x7e, 0x65, 0x5b, 0x53, 0xc2, 0x13, 0x8e, 0x83, 0xf9, 0x01, 0xa6, 0x59, 0x48,
	0x16, 0x96, 0xd9, 0xa1, 0xf3, 0xbf, 0xba, 0xf3, 0x06, 0xec, 0x2e, 0x23, 0x0b, 0x86, 0xe8, 0xc1,
	0xa6, 0xc2, 0xfa, 0x43, 0xc7, 0x32, 0x75, 0xd5, 0x63, 0x09, 0x96, 0xbf, 0xa3, 0x47, 0x14, 0x15,
	0xd8, 0x4a, 0xf1, 0xf6, 0xc3, 0x3b, 0x9f, 0xff, 0x60, 0x3d, 0x66, 0xba, 0x60, 0xfc, 0xd9, 0xd4,
	0x19, 0xbd, 0x81, 0xe2, 0x6c, 0x49, 0x69, 0x25, 0x8c, 0x4c, 0xf9, 0x0b, 0x89, 0xd5, 0x74, 0x41,
	0x30, 0x69, 0x6e, 0x6c, 0x3c, 0xdb, 0xc4, 0xd8, 0x38, 0xa5, 0xfb, 0xb1, 0x71, 0x6a, 0x89, 0x73,
	0x74, 0x08, 0x62, 0x7a, 0x5f, 0xe8, 0x5e, 0xe8, 0xb0, 0xb4, 0xe9, 0x62, 0x33, 0x8b, 0x34, 0x8a,
	0x7d, 0x21, 0xb0, 0xbd, 0xf8, 0x99, 0x69, 0x2b, 0x34, 0xcc, 0x54, 0x54, 0x51, 0xce, 0x2a, 0x8f,
	0x18, 0xee, 0x60, 0xe3, 0xc7, 0x37, 0xa6, 0xb5, 0xb8, 0x24, 0xe9, 0xf5, 0x12, 0xeb, 0x4b, 0x54,
	0x61, 0xce, 0xe1, 0x7e, 0x6f, 0xac, 0xb4, 0x54, 0x4d, 0xd6, 0x71, 0xd0, 0xf6, 0x97, 0x2d, 0xe4,
	0x46, 0xdb, 0x3f, 0xdf, 0x9a, 0x7c, 0x64, 0xdb, 0x06, 0x06, 0xbf, 0x1d, 0x4d, 0x13, 0x26, 0x5b,
	0xdd, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8b, 0xa8, 0x1d, 0x02, 0xa1, 0x05, 0x00, 0x00,
}
