Details
-
Bug
-
Resolution: Won't Fix
-
Minor
-
Cheshire-Cat
-
None
-
Untriaged
-
1
-
Unknown
Description
When compiling xdcrDiffer using XDCR's source code as of 7.0.0-5051, there's the following error:
/home/vagrant/go/pkg/mod/github.com/couchbase/goxdcr@v7.0.0-5051+incompatible/parts/dcp_nozzle.go:123:17: ambiguous selector reqHelper.dcp.RaiseEvent
|
/home/vagrant/go/pkg/mod/github.com/couchbase/goxdcr@v7.0.0-5051+incompatible/parts/dcp_nozzle.go:256:2: duplicate method Receive
|
/home/vagrant/go/pkg/mod/github.com/couchbase/goxdcr@v7.0.0-5051+incompatible/parts/dcp_nozzle.go:267:2: duplicate method RaiseEvent
|
The error comes from source code:
dcp_nozzle.go |
type DcpNozzleIface interface {
|
common.Nozzle
|
CheckStuckness(dcp_stats map[string]map[string]string) error
|
CollectionEnabled() bool
|
GetStreamState(vbno uint16) (DcpStreamState, error)
|
GetXattrSeqnos() map[uint16]uint64
|
Receive(data interface{}) error
|
SetMaxMissCount(max_dcp_miss_count int)
|
PrintStatusSummary()
|
|
// Embedded from AbstractPart
|
Logger() *log.CommonLogger
|
RaiseEvent(event *common.Event)
|
}
|
The RaiseEvent() is duplicated since common.Nozzle -> Part -> Component will have the same method:
type Component interface {
|
// id of component
|
Id() string
|
|
//RegisterComponentEventListener registers a listener for component event
|
//
|
//if the eventType is not supported by the component, an error would be thrown
|
RegisterComponentEventListener(eventType ComponentEventType, listener ComponentEventListener) error
|
UnRegisterComponentEventListener(eventType ComponentEventType, listener ComponentEventListener) error
|
|
// returns the map of async event listeners registered on this component
|
AsyncComponentEventListeners() map[string]AsyncComponentEventListener
|
|
// raise event for a component
|
RaiseEvent(event *Event)
|
}
|