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

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

import (
	p2pcommon "github.com/aergoio/aergo/v2/p2p/p2pcommon"
	types "github.com/aergoio/aergo/v2/types"
	gomock "github.com/golang/mock/gomock"
	network "github.com/libp2p/go-libp2p/core/network"
	reflect "reflect"
)

// MockPeerEventListener is a mock of PeerEventListener interface
type MockPeerEventListener struct {
	ctrl     *gomock.Controller
	recorder *MockPeerEventListenerMockRecorder
}

// MockPeerEventListenerMockRecorder is the mock recorder for MockPeerEventListener
type MockPeerEventListenerMockRecorder struct {
	mock *MockPeerEventListener
}

// NewMockPeerEventListener creates a new mock instance
func NewMockPeerEventListener(ctrl *gomock.Controller) *MockPeerEventListener {
	mock := &MockPeerEventListener{ctrl: ctrl}
	mock.recorder = &MockPeerEventListenerMockRecorder{mock}
	return mock
}

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

// OnPeerConnect mocks base method
func (m *MockPeerEventListener) OnPeerConnect(pid types.PeerID) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnPeerConnect", pid)
}

// OnPeerConnect indicates an expected call of OnPeerConnect
func (mr *MockPeerEventListenerMockRecorder) OnPeerConnect(pid interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnPeerConnect", reflect.TypeOf((*MockPeerEventListener)(nil).OnPeerConnect), pid)
}

// OnPeerDisconnect mocks base method
func (m *MockPeerEventListener) OnPeerDisconnect(peer p2pcommon.RemotePeer) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnPeerDisconnect", peer)
}

// OnPeerDisconnect indicates an expected call of OnPeerDisconnect
func (mr *MockPeerEventListenerMockRecorder) OnPeerDisconnect(peer interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnPeerDisconnect", reflect.TypeOf((*MockPeerEventListener)(nil).OnPeerDisconnect), peer)
}

// MockPeerFinder is a mock of PeerFinder interface
type MockPeerFinder struct {
	ctrl     *gomock.Controller
	recorder *MockPeerFinderMockRecorder
}

// MockPeerFinderMockRecorder is the mock recorder for MockPeerFinder
type MockPeerFinderMockRecorder struct {
	mock *MockPeerFinder
}

// NewMockPeerFinder creates a new mock instance
func NewMockPeerFinder(ctrl *gomock.Controller) *MockPeerFinder {
	mock := &MockPeerFinder{ctrl: ctrl}
	mock.recorder = &MockPeerFinderMockRecorder{mock}
	return mock
}

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

// OnPeerConnect mocks base method
func (m *MockPeerFinder) OnPeerConnect(pid types.PeerID) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnPeerConnect", pid)
}

// OnPeerConnect indicates an expected call of OnPeerConnect
func (mr *MockPeerFinderMockRecorder) OnPeerConnect(pid interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnPeerConnect", reflect.TypeOf((*MockPeerFinder)(nil).OnPeerConnect), pid)
}

// OnPeerDisconnect mocks base method
func (m *MockPeerFinder) OnPeerDisconnect(peer p2pcommon.RemotePeer) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnPeerDisconnect", peer)
}

// OnPeerDisconnect indicates an expected call of OnPeerDisconnect
func (mr *MockPeerFinderMockRecorder) OnPeerDisconnect(peer interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnPeerDisconnect", reflect.TypeOf((*MockPeerFinder)(nil).OnPeerDisconnect), peer)
}

// CheckAndFill mocks base method
func (m *MockPeerFinder) CheckAndFill() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "CheckAndFill")
}

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

// MockWaitingPeerManager is a mock of WaitingPeerManager interface
type MockWaitingPeerManager struct {
	ctrl     *gomock.Controller
	recorder *MockWaitingPeerManagerMockRecorder
}

// MockWaitingPeerManagerMockRecorder is the mock recorder for MockWaitingPeerManager
type MockWaitingPeerManagerMockRecorder struct {
	mock *MockWaitingPeerManager
}

// NewMockWaitingPeerManager creates a new mock instance
func NewMockWaitingPeerManager(ctrl *gomock.Controller) *MockWaitingPeerManager {
	mock := &MockWaitingPeerManager{ctrl: ctrl}
	mock.recorder = &MockWaitingPeerManagerMockRecorder{mock}
	return mock
}

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

// OnPeerConnect mocks base method
func (m *MockWaitingPeerManager) OnPeerConnect(pid types.PeerID) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnPeerConnect", pid)
}

// OnPeerConnect indicates an expected call of OnPeerConnect
func (mr *MockWaitingPeerManagerMockRecorder) OnPeerConnect(pid interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnPeerConnect", reflect.TypeOf((*MockWaitingPeerManager)(nil).OnPeerConnect), pid)
}

// OnPeerDisconnect mocks base method
func (m *MockWaitingPeerManager) OnPeerDisconnect(peer p2pcommon.RemotePeer) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnPeerDisconnect", peer)
}

// OnPeerDisconnect indicates an expected call of OnPeerDisconnect
func (mr *MockWaitingPeerManagerMockRecorder) OnPeerDisconnect(peer interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnPeerDisconnect", reflect.TypeOf((*MockWaitingPeerManager)(nil).OnPeerDisconnect), peer)
}

// OnDiscoveredPeers mocks base method
func (m *MockWaitingPeerManager) OnDiscoveredPeers(metas []p2pcommon.PeerMeta) int {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "OnDiscoveredPeers", metas)
	ret0, _ := ret[0].(int)
	return ret0
}

// OnDiscoveredPeers indicates an expected call of OnDiscoveredPeers
func (mr *MockWaitingPeerManagerMockRecorder) OnDiscoveredPeers(metas interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnDiscoveredPeers", reflect.TypeOf((*MockWaitingPeerManager)(nil).OnDiscoveredPeers), metas)
}

// OnWorkDone mocks base method
func (m *MockWaitingPeerManager) OnWorkDone(result p2pcommon.ConnWorkResult) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnWorkDone", result)
}

// OnWorkDone indicates an expected call of OnWorkDone
func (mr *MockWaitingPeerManagerMockRecorder) OnWorkDone(result interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnWorkDone", reflect.TypeOf((*MockWaitingPeerManager)(nil).OnWorkDone), result)
}

// CheckAndConnect mocks base method
func (m *MockWaitingPeerManager) CheckAndConnect() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "CheckAndConnect")
}

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

// InstantConnect mocks base method
func (m *MockWaitingPeerManager) InstantConnect(meta p2pcommon.PeerMeta) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "InstantConnect", meta)
}

// InstantConnect indicates an expected call of InstantConnect
func (mr *MockWaitingPeerManagerMockRecorder) InstantConnect(meta interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InstantConnect", reflect.TypeOf((*MockWaitingPeerManager)(nil).InstantConnect), meta)
}

// OnInboundConn mocks base method
func (m *MockWaitingPeerManager) OnInboundConn(s network.Stream) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnInboundConn", s)
}

// OnInboundConn indicates an expected call of OnInboundConn
func (mr *MockWaitingPeerManagerMockRecorder) OnInboundConn(s interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnInboundConn", reflect.TypeOf((*MockWaitingPeerManager)(nil).OnInboundConn), s)
}
