// Code generated by MockGen. DO NOT EDIT.
// Source: loadbalancer.go
//
// Generated by this command:
//
//	mockgen -package matching -source loadbalancer.go -destination loadbalancer_mock.go -package matching github.com/uber/cadence/client/matching LoadBalancer,WeightedLoadBalancer
//

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

import (
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"

	types "github.com/uber/cadence/common/types"
)

// MockWriteRequest is a mock of WriteRequest interface.
type MockWriteRequest struct {
	ctrl     *gomock.Controller
	recorder *MockWriteRequestMockRecorder
	isgomock struct{}
}

// MockWriteRequestMockRecorder is the mock recorder for MockWriteRequest.
type MockWriteRequestMockRecorder struct {
	mock *MockWriteRequest
}

// NewMockWriteRequest creates a new mock instance.
func NewMockWriteRequest(ctrl *gomock.Controller) *MockWriteRequest {
	mock := &MockWriteRequest{ctrl: ctrl}
	mock.recorder = &MockWriteRequestMockRecorder{mock}
	return mock
}

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

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

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

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

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

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

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

// GetTaskList mocks base method.
func (m *MockWriteRequest) GetTaskList() *types.TaskList {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTaskList")
	ret0, _ := ret[0].(*types.TaskList)
	return ret0
}

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

// MockReadRequest is a mock of ReadRequest interface.
type MockReadRequest struct {
	ctrl     *gomock.Controller
	recorder *MockReadRequestMockRecorder
	isgomock struct{}
}

// MockReadRequestMockRecorder is the mock recorder for MockReadRequest.
type MockReadRequestMockRecorder struct {
	mock *MockReadRequest
}

// NewMockReadRequest creates a new mock instance.
func NewMockReadRequest(ctrl *gomock.Controller) *MockReadRequest {
	mock := &MockReadRequest{ctrl: ctrl}
	mock.recorder = &MockReadRequestMockRecorder{mock}
	return mock
}

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

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

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

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

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

// GetTaskList mocks base method.
func (m *MockReadRequest) GetTaskList() *types.TaskList {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTaskList")
	ret0, _ := ret[0].(*types.TaskList)
	return ret0
}

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

// MockLoadBalancer is a mock of LoadBalancer interface.
type MockLoadBalancer struct {
	ctrl     *gomock.Controller
	recorder *MockLoadBalancerMockRecorder
	isgomock struct{}
}

// MockLoadBalancerMockRecorder is the mock recorder for MockLoadBalancer.
type MockLoadBalancerMockRecorder struct {
	mock *MockLoadBalancer
}

// NewMockLoadBalancer creates a new mock instance.
func NewMockLoadBalancer(ctrl *gomock.Controller) *MockLoadBalancer {
	mock := &MockLoadBalancer{ctrl: ctrl}
	mock.recorder = &MockLoadBalancerMockRecorder{mock}
	return mock
}

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

// PickReadPartition mocks base method.
func (m *MockLoadBalancer) PickReadPartition(taskListType int, request ReadRequest, isolationGroup string) string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PickReadPartition", taskListType, request, isolationGroup)
	ret0, _ := ret[0].(string)
	return ret0
}

// PickReadPartition indicates an expected call of PickReadPartition.
func (mr *MockLoadBalancerMockRecorder) PickReadPartition(taskListType, request, isolationGroup any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PickReadPartition", reflect.TypeOf((*MockLoadBalancer)(nil).PickReadPartition), taskListType, request, isolationGroup)
}

// PickWritePartition mocks base method.
func (m *MockLoadBalancer) PickWritePartition(taskListType int, request WriteRequest) string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PickWritePartition", taskListType, request)
	ret0, _ := ret[0].(string)
	return ret0
}

// PickWritePartition indicates an expected call of PickWritePartition.
func (mr *MockLoadBalancerMockRecorder) PickWritePartition(taskListType, request any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PickWritePartition", reflect.TypeOf((*MockLoadBalancer)(nil).PickWritePartition), taskListType, request)
}

// UpdateWeight mocks base method.
func (m *MockLoadBalancer) UpdateWeight(taskListType int, request ReadRequest, partition string, info *types.LoadBalancerHints) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "UpdateWeight", taskListType, request, partition, info)
}

// UpdateWeight indicates an expected call of UpdateWeight.
func (mr *MockLoadBalancerMockRecorder) UpdateWeight(taskListType, request, partition, info any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWeight", reflect.TypeOf((*MockLoadBalancer)(nil).UpdateWeight), taskListType, request, partition, info)
}

// MockWeightedLoadBalancer is a mock of WeightedLoadBalancer interface.
type MockWeightedLoadBalancer struct {
	ctrl     *gomock.Controller
	recorder *MockWeightedLoadBalancerMockRecorder
	isgomock struct{}
}

// MockWeightedLoadBalancerMockRecorder is the mock recorder for MockWeightedLoadBalancer.
type MockWeightedLoadBalancerMockRecorder struct {
	mock *MockWeightedLoadBalancer
}

// NewMockWeightedLoadBalancer creates a new mock instance.
func NewMockWeightedLoadBalancer(ctrl *gomock.Controller) *MockWeightedLoadBalancer {
	mock := &MockWeightedLoadBalancer{ctrl: ctrl}
	mock.recorder = &MockWeightedLoadBalancerMockRecorder{mock}
	return mock
}

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

// PickBetween mocks base method.
func (m *MockWeightedLoadBalancer) PickBetween(domainID, taskListName string, taskListType int, partitions []int) int {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PickBetween", domainID, taskListName, taskListType, partitions)
	ret0, _ := ret[0].(int)
	return ret0
}

// PickBetween indicates an expected call of PickBetween.
func (mr *MockWeightedLoadBalancerMockRecorder) PickBetween(domainID, taskListName, taskListType, partitions any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PickBetween", reflect.TypeOf((*MockWeightedLoadBalancer)(nil).PickBetween), domainID, taskListName, taskListType, partitions)
}

// PickReadPartition mocks base method.
func (m *MockWeightedLoadBalancer) PickReadPartition(taskListType int, request ReadRequest, isolationGroup string) string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PickReadPartition", taskListType, request, isolationGroup)
	ret0, _ := ret[0].(string)
	return ret0
}

// PickReadPartition indicates an expected call of PickReadPartition.
func (mr *MockWeightedLoadBalancerMockRecorder) PickReadPartition(taskListType, request, isolationGroup any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PickReadPartition", reflect.TypeOf((*MockWeightedLoadBalancer)(nil).PickReadPartition), taskListType, request, isolationGroup)
}

// PickWritePartition mocks base method.
func (m *MockWeightedLoadBalancer) PickWritePartition(taskListType int, request WriteRequest) string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PickWritePartition", taskListType, request)
	ret0, _ := ret[0].(string)
	return ret0
}

// PickWritePartition indicates an expected call of PickWritePartition.
func (mr *MockWeightedLoadBalancerMockRecorder) PickWritePartition(taskListType, request any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PickWritePartition", reflect.TypeOf((*MockWeightedLoadBalancer)(nil).PickWritePartition), taskListType, request)
}

// UpdateWeight mocks base method.
func (m *MockWeightedLoadBalancer) UpdateWeight(taskListType int, request ReadRequest, partition string, info *types.LoadBalancerHints) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "UpdateWeight", taskListType, request, partition, info)
}

// UpdateWeight indicates an expected call of UpdateWeight.
func (mr *MockWeightedLoadBalancerMockRecorder) UpdateWeight(taskListType, request, partition, info any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWeight", reflect.TypeOf((*MockWeightedLoadBalancer)(nil).UpdateWeight), taskListType, request, partition, info)
}
