// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/anyproto/any-sync/net/pool (interfaces: Pool,Service)
//
// Generated by this command:
//
//	mockgen -destination mock_pool/mock_pool.go github.com/anyproto/any-sync/net/pool Pool,Service
//

// Package mock_pool is a generated GoMock package.
package mock_pool

import (
	context "context"
	reflect "reflect"

	app "github.com/anyproto/any-sync/app"
	peer "github.com/anyproto/any-sync/net/peer"
	gomock "go.uber.org/mock/gomock"
)

// MockPool is a mock of Pool interface.
type MockPool struct {
	ctrl     *gomock.Controller
	recorder *MockPoolMockRecorder
	isgomock struct{}
}

// MockPoolMockRecorder is the mock recorder for MockPool.
type MockPoolMockRecorder struct {
	mock *MockPool
}

// NewMockPool creates a new mock instance.
func NewMockPool(ctrl *gomock.Controller) *MockPool {
	mock := &MockPool{ctrl: ctrl}
	mock.recorder = &MockPoolMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockPool) EXPECT() *MockPoolMockRecorder {
	return m.recorder
}

// AddPeer mocks base method.
func (m *MockPool) AddPeer(ctx context.Context, p peer.Peer) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddPeer", ctx, p)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddPeer indicates an expected call of AddPeer.
func (mr *MockPoolMockRecorder) AddPeer(ctx, p any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddPeer", reflect.TypeOf((*MockPool)(nil).AddPeer), ctx, p)
}

// Flush mocks base method.
func (m *MockPool) Flush(ctx context.Context) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Flush", ctx)
	ret0, _ := ret[0].(error)
	return ret0
}

// Flush indicates an expected call of Flush.
func (mr *MockPoolMockRecorder) Flush(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Flush", reflect.TypeOf((*MockPool)(nil).Flush), ctx)
}

// Get mocks base method.
func (m *MockPool) Get(ctx context.Context, id string) (peer.Peer, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, id)
	ret0, _ := ret[0].(peer.Peer)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockPoolMockRecorder) Get(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockPool)(nil).Get), ctx, id)
}

// GetOneOf mocks base method.
func (m *MockPool) GetOneOf(ctx context.Context, peerIds []string) (peer.Peer, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetOneOf", ctx, peerIds)
	ret0, _ := ret[0].(peer.Peer)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetOneOf indicates an expected call of GetOneOf.
func (mr *MockPoolMockRecorder) GetOneOf(ctx, peerIds any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOneOf", reflect.TypeOf((*MockPool)(nil).GetOneOf), ctx, peerIds)
}

// Pick mocks base method.
func (m *MockPool) Pick(ctx context.Context, id string) (peer.Peer, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Pick", ctx, id)
	ret0, _ := ret[0].(peer.Peer)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Pick indicates an expected call of Pick.
func (mr *MockPoolMockRecorder) Pick(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Pick", reflect.TypeOf((*MockPool)(nil).Pick), ctx, id)
}

// MockService is a mock of Service interface.
type MockService struct {
	ctrl     *gomock.Controller
	recorder *MockServiceMockRecorder
	isgomock struct{}
}

// MockServiceMockRecorder is the mock recorder for MockService.
type MockServiceMockRecorder struct {
	mock *MockService
}

// NewMockService creates a new mock instance.
func NewMockService(ctrl *gomock.Controller) *MockService {
	mock := &MockService{ctrl: ctrl}
	mock.recorder = &MockServiceMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockService) EXPECT() *MockServiceMockRecorder {
	return m.recorder
}

// AddPeer mocks base method.
func (m *MockService) AddPeer(ctx context.Context, p peer.Peer) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddPeer", ctx, p)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddPeer indicates an expected call of AddPeer.
func (mr *MockServiceMockRecorder) AddPeer(ctx, p any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddPeer", reflect.TypeOf((*MockService)(nil).AddPeer), ctx, p)
}

// Close mocks base method.
func (m *MockService) Close(ctx context.Context) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Close", ctx)
	ret0, _ := ret[0].(error)
	return ret0
}

// Close indicates an expected call of Close.
func (mr *MockServiceMockRecorder) Close(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockService)(nil).Close), ctx)
}

// Flush mocks base method.
func (m *MockService) Flush(ctx context.Context) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Flush", ctx)
	ret0, _ := ret[0].(error)
	return ret0
}

// Flush indicates an expected call of Flush.
func (mr *MockServiceMockRecorder) Flush(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Flush", reflect.TypeOf((*MockService)(nil).Flush), ctx)
}

// Get mocks base method.
func (m *MockService) Get(ctx context.Context, id string) (peer.Peer, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, id)
	ret0, _ := ret[0].(peer.Peer)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockServiceMockRecorder) Get(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockService)(nil).Get), ctx, id)
}

// GetOneOf mocks base method.
func (m *MockService) GetOneOf(ctx context.Context, peerIds []string) (peer.Peer, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetOneOf", ctx, peerIds)
	ret0, _ := ret[0].(peer.Peer)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetOneOf indicates an expected call of GetOneOf.
func (mr *MockServiceMockRecorder) GetOneOf(ctx, peerIds any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOneOf", reflect.TypeOf((*MockService)(nil).GetOneOf), ctx, peerIds)
}

// Init mocks base method.
func (m *MockService) Init(a *app.App) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Init", a)
	ret0, _ := ret[0].(error)
	return ret0
}

// Init indicates an expected call of Init.
func (mr *MockServiceMockRecorder) Init(a any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockService)(nil).Init), a)
}

// Name mocks base method.
func (m *MockService) Name() string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Name")
	ret0, _ := ret[0].(string)
	return ret0
}

// Name indicates an expected call of Name.
func (mr *MockServiceMockRecorder) Name() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockService)(nil).Name))
}

// Pick mocks base method.
func (m *MockService) Pick(ctx context.Context, id string) (peer.Peer, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Pick", ctx, id)
	ret0, _ := ret[0].(peer.Peer)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Pick indicates an expected call of Pick.
func (mr *MockServiceMockRecorder) Pick(ctx, id any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Pick", reflect.TypeOf((*MockService)(nil).Pick), ctx, id)
}

// Run mocks base method.
func (m *MockService) Run(ctx context.Context) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Run", ctx)
	ret0, _ := ret[0].(error)
	return ret0
}

// Run indicates an expected call of Run.
func (mr *MockServiceMockRecorder) Run(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Run", reflect.TypeOf((*MockService)(nil).Run), ctx)
}
