// Code generated by MockGen. DO NOT EDIT.
// Source: load_balancer.go

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

import (
	context "context"
	reflect "reflect"

	servicer "github.com/air-go/rpc/library/servicer"
	gomock "github.com/golang/mock/gomock"
)

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

// 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
}

// Back mocks base method.
func (m *MockLoadBalancer) Back(arg0 servicer.Node, arg1 error) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Back", arg0, arg1)
}

// Back indicates an expected call of Back.
func (mr *MockLoadBalancerMockRecorder) Back(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Back", reflect.TypeOf((*MockLoadBalancer)(nil).Back), arg0, arg1)
}

// GetNodes mocks base method.
func (m *MockLoadBalancer) GetNodes() []servicer.Node {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetNodes")
	ret0, _ := ret[0].([]servicer.Node)
	return ret0
}

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

// Pick mocks base method.
func (m *MockLoadBalancer) Pick(arg0 context.Context) (servicer.Node, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Pick", arg0)
	ret0, _ := ret[0].(servicer.Node)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// SetNodes mocks base method.
func (m *MockLoadBalancer) SetNodes(arg0 []servicer.Node) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetNodes", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

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

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

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