aergoio/aergo

View on GitHub
p2p/p2pmock/mock_host.go

Summary

Maintainability
C
1 day
Test Coverage

Similar blocks of code found in 3 locations. Consider refactoring.
Open

func (m *MockHost) NewStream(arg0 context.Context, arg1 peer.ID, arg2 ...protocol.ID) (network.Stream, error) {
    m.ctrl.T.Helper()
    varargs := []interface{}{arg0, arg1}
    for _, a := range arg2 {
        varargs = append(varargs, a)
Severity: Major
Found in p2p/p2pmock/mock_host.go and 2 other locations - About 1 hr to fix
p2p/p2pmock/mock_networktransport.go on lines 256..266
p2p/p2pmock/mock_networktransport.go on lines 318..328

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 173.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 46 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) NewStream(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
    mr.mock.ctrl.T.Helper()
    varargs := append([]interface{}{arg0, arg1}, arg2...)
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewStream", reflect.TypeOf((*MockHost)(nil).NewStream), varargs...)
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 45 other locations - About 1 hr to fix
cmd/aergocli/cmd/mock_types/mock_types.go on lines 53..57
cmd/aergocli/cmd/mock_types/mock_types.go on lines 73..77
cmd/aergocli/cmd/mock_types/mock_types.go on lines 93..97
cmd/aergocli/cmd/mock_types/mock_types.go on lines 113..117
cmd/aergocli/cmd/mock_types/mock_types.go on lines 133..137
cmd/aergocli/cmd/mock_types/mock_types.go on lines 153..157
cmd/aergocli/cmd/mock_types/mock_types.go on lines 173..177
cmd/aergocli/cmd/mock_types/mock_types.go on lines 193..197
cmd/aergocli/cmd/mock_types/mock_types.go on lines 213..217
cmd/aergocli/cmd/mock_types/mock_types.go on lines 233..237
cmd/aergocli/cmd/mock_types/mock_types.go on lines 253..257
cmd/aergocli/cmd/mock_types/mock_types.go on lines 273..277
cmd/aergocli/cmd/mock_types/mock_types.go on lines 293..297
cmd/aergocli/cmd/mock_types/mock_types.go on lines 313..317
cmd/aergocli/cmd/mock_types/mock_types.go on lines 333..337
cmd/aergocli/cmd/mock_types/mock_types.go on lines 353..357
cmd/aergocli/cmd/mock_types/mock_types.go on lines 373..377
cmd/aergocli/cmd/mock_types/mock_types.go on lines 393..397
cmd/aergocli/cmd/mock_types/mock_types.go on lines 413..417
cmd/aergocli/cmd/mock_types/mock_types.go on lines 433..437
cmd/aergocli/cmd/mock_types/mock_types.go on lines 453..457
cmd/aergocli/cmd/mock_types/mock_types.go on lines 473..477
cmd/aergocli/cmd/mock_types/mock_types.go on lines 493..497
cmd/aergocli/cmd/mock_types/mock_types.go on lines 513..517
cmd/aergocli/cmd/mock_types/mock_types.go on lines 533..537
cmd/aergocli/cmd/mock_types/mock_types.go on lines 553..557
cmd/aergocli/cmd/mock_types/mock_types.go on lines 573..577
cmd/aergocli/cmd/mock_types/mock_types.go on lines 593..597
cmd/aergocli/cmd/mock_types/mock_types.go on lines 613..617
cmd/aergocli/cmd/mock_types/mock_types.go on lines 633..637
cmd/aergocli/cmd/mock_types/mock_types.go on lines 653..657
cmd/aergocli/cmd/mock_types/mock_types.go on lines 673..677
cmd/aergocli/cmd/mock_types/mock_types.go on lines 693..697
cmd/aergocli/cmd/mock_types/mock_types.go on lines 713..717
cmd/aergocli/cmd/mock_types/mock_types.go on lines 733..737
cmd/aergocli/cmd/mock_types/mock_types.go on lines 753..757
cmd/aergocli/cmd/mock_types/mock_types.go on lines 773..777
cmd/aergocli/cmd/mock_types/mock_types.go on lines 793..797
cmd/aergocli/cmd/mock_types/mock_types.go on lines 813..817
cmd/aergocli/cmd/mock_types/mock_types.go on lines 833..837
cmd/aergocli/cmd/mock_types/mock_types.go on lines 853..857
cmd/aergocli/cmd/mock_types/mock_types.go on lines 873..877
cmd/aergocli/cmd/mock_types/mock_types.go on lines 893..897
p2p/p2pmock/mock_networktransport.go on lines 269..273
p2p/p2pmock/mock_networktransport.go on lines 331..335

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 140.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 18 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) SetStreamHandlerMatch(arg0, arg1, arg2 interface{}) *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetStreamHandlerMatch", reflect.TypeOf((*MockHost)(nil).SetStreamHandlerMatch), arg0, arg1, arg2)
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 17 other locations - About 45 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 190..193
p2p/p2pmock/mock_actorservice.go on lines 72..75
p2p/p2pmock/mock_actorservice.go on lines 101..104
p2p/p2pmock/mock_consensus.go on lines 188..191
p2p/p2pmock/mock_consensus.go on lines 227..230
p2p/p2pmock/mock_handshake.go on lines 139..142
p2p/p2pmock/mock_message.go on lines 374..377
p2p/p2pmock/mock_msgorder.go on lines 166..169
p2p/p2pmock/mock_msgorder.go on lines 180..183
p2p/p2pmock/mock_msgorder.go on lines 194..197
p2p/p2pmock/mock_networktransport.go on lines 396..399
p2p/p2pmock/mock_peerrole.go on lines 124..127
p2p/p2pmock/mock_remotepeer.go on lines 47..50
p2p/p2pmock/mock_syncmanager.go on lines 57..60
p2p/p2pmock/mock_syncmanager.go on lines 71..74
p2p/p2pmock/mock_syncmanager.go on lines 95..98
p2p/p2pmock/mock_txnotice.go on lines 43..46

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 115.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 42 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) SetStreamHandler(arg0, arg1 interface{}) *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetStreamHandler", reflect.TypeOf((*MockHost)(nil).SetStreamHandler), arg0, arg1)
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 41 other locations - About 45 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 58..61
p2p/p2pmock/mock_actorcontext.go on lines 176..179
p2p/p2pmock/mock_actorcontext.go on lines 283..286
p2p/p2pmock/mock_actorcontext.go on lines 297..300
p2p/p2pmock/mock_actorcontext.go on lines 321..324
p2p/p2pmock/mock_actorservice.go on lines 45..48
p2p/p2pmock/mock_actorservice.go on lines 57..60
p2p/p2pmock/mock_actorservice.go on lines 87..90
p2p/p2pmock/mock_actorservice.go on lines 115..118
p2p/p2pmock/mock_consensus.go on lines 200..203
p2p/p2pmock/mock_handshake.go on lines 49..52
p2p/p2pmock/mock_handshake.go on lines 87..90
p2p/p2pmock/mock_host.go on lines 94..97
p2p/p2pmock/mock_listmanager.go on lines 71..74
p2p/p2pmock/mock_message.go on lines 242..245
p2p/p2pmock/mock_message.go on lines 254..257
p2p/p2pmock/mock_message.go on lines 278..281
p2p/p2pmock/mock_message.go on lines 325..328
p2p/p2pmock/mock_message.go on lines 362..365
p2p/p2pmock/mock_message.go on lines 425..428
p2p/p2pmock/mock_metricsman.go on lines 70..73
p2p/p2pmock/mock_metricsman.go on lines 84..87
p2p/p2pmock/mock_msgio.go on lines 121..124
p2p/p2pmock/mock_msgio.go on lines 133..136
p2p/p2pmock/mock_msgorder.go on lines 250..253
p2p/p2pmock/mock_networktransport.go on lines 118..121
p2p/p2pmock/mock_networktransport.go on lines 188..191
p2p/p2pmock/mock_networktransport.go on lines 384..387
p2p/p2pmock/mock_peermanager.go on lines 220..223
p2p/p2pmock/mock_peerrole.go on lines 68..71
p2p/p2pmock/mock_peerrole.go on lines 110..113
p2p/p2pmock/mock_peerrole.go on lines 138..141
p2p/p2pmock/mock_remotepeer.go on lines 192..195
p2p/p2pmock/mock_remotepeer.go on lines 284..287
p2p/p2pmock/mock_remotepeer.go on lines 337..340
p2p/p2pmock/mock_remotepeer.go on lines 363..366
p2p/p2pmock/mock_syncmanager.go on lines 45..48
p2p/p2pmock/mock_syncmanager.go on lines 83..86
p2p/p2pmock/mock_syncmanager.go on lines 119..122
p2p/p2pmock/mock_txnotice.go on lines 55..58
p2p/p2pmock/mock_txnotice.go on lines 67..70

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 113.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 42 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) Connect(arg0, arg1 interface{}) *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Connect", reflect.TypeOf((*MockHost)(nil).Connect), arg0, arg1)
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 41 other locations - About 45 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 58..61
p2p/p2pmock/mock_actorcontext.go on lines 176..179
p2p/p2pmock/mock_actorcontext.go on lines 283..286
p2p/p2pmock/mock_actorcontext.go on lines 297..300
p2p/p2pmock/mock_actorcontext.go on lines 321..324
p2p/p2pmock/mock_actorservice.go on lines 45..48
p2p/p2pmock/mock_actorservice.go on lines 57..60
p2p/p2pmock/mock_actorservice.go on lines 87..90
p2p/p2pmock/mock_actorservice.go on lines 115..118
p2p/p2pmock/mock_consensus.go on lines 200..203
p2p/p2pmock/mock_handshake.go on lines 49..52
p2p/p2pmock/mock_handshake.go on lines 87..90
p2p/p2pmock/mock_host.go on lines 208..211
p2p/p2pmock/mock_listmanager.go on lines 71..74
p2p/p2pmock/mock_message.go on lines 242..245
p2p/p2pmock/mock_message.go on lines 254..257
p2p/p2pmock/mock_message.go on lines 278..281
p2p/p2pmock/mock_message.go on lines 325..328
p2p/p2pmock/mock_message.go on lines 362..365
p2p/p2pmock/mock_message.go on lines 425..428
p2p/p2pmock/mock_metricsman.go on lines 70..73
p2p/p2pmock/mock_metricsman.go on lines 84..87
p2p/p2pmock/mock_msgio.go on lines 121..124
p2p/p2pmock/mock_msgio.go on lines 133..136
p2p/p2pmock/mock_msgorder.go on lines 250..253
p2p/p2pmock/mock_networktransport.go on lines 118..121
p2p/p2pmock/mock_networktransport.go on lines 188..191
p2p/p2pmock/mock_networktransport.go on lines 384..387
p2p/p2pmock/mock_peermanager.go on lines 220..223
p2p/p2pmock/mock_peerrole.go on lines 68..71
p2p/p2pmock/mock_peerrole.go on lines 110..113
p2p/p2pmock/mock_peerrole.go on lines 138..141
p2p/p2pmock/mock_remotepeer.go on lines 192..195
p2p/p2pmock/mock_remotepeer.go on lines 284..287
p2p/p2pmock/mock_remotepeer.go on lines 337..340
p2p/p2pmock/mock_remotepeer.go on lines 363..366
p2p/p2pmock/mock_syncmanager.go on lines 45..48
p2p/p2pmock/mock_syncmanager.go on lines 83..86
p2p/p2pmock/mock_syncmanager.go on lines 119..122
p2p/p2pmock/mock_txnotice.go on lines 55..58
p2p/p2pmock/mock_txnotice.go on lines 67..70

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 113.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 95 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) RemoveStreamHandler(arg0 interface{}) *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveStreamHandler", reflect.TypeOf((*MockHost)(nil).RemoveStreamHandler), arg0)
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 94 other locations - About 40 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 84..87
p2p/p2pmock/mock_actorcontext.go on lines 150..153
p2p/p2pmock/mock_actorcontext.go on lines 202..205
p2p/p2pmock/mock_actorcontext.go on lines 242..245
p2p/p2pmock/mock_actorcontext.go on lines 254..257
p2p/p2pmock/mock_actorcontext.go on lines 268..271
p2p/p2pmock/mock_actorcontext.go on lines 333..336
p2p/p2pmock/mock_actorcontext.go on lines 345..348
p2p/p2pmock/mock_certificate.go on lines 44..47
p2p/p2pmock/mock_certificate.go on lines 58..61
p2p/p2pmock/mock_certificate.go on lines 73..76
p2p/p2pmock/mock_certificate.go on lines 113..116
p2p/p2pmock/mock_certificate.go on lines 125..128
p2p/p2pmock/mock_chainaccessor.go on lines 46..49
p2p/p2pmock/mock_chainaccessor.go on lines 76..79
p2p/p2pmock/mock_chainaccessor.go on lines 119..122
p2p/p2pmock/mock_chainaccessor.go on lines 148..151
p2p/p2pmock/mock_chainaccessor.go on lines 163..166
p2p/p2pmock/mock_consensus.go on lines 51..54
p2p/p2pmock/mock_consensus.go on lines 66..69
p2p/p2pmock/mock_consensus.go on lines 81..84
p2p/p2pmock/mock_consensus.go on lines 146..149
p2p/p2pmock/mock_consensus.go on lines 160..163
p2p/p2pmock/mock_consensus.go on lines 174..177
p2p/p2pmock/mock_consensus.go on lines 212..215
p2p/p2pmock/mock_handshake.go on lines 124..127
p2p/p2pmock/mock_handshake.go on lines 167..170
p2p/p2pmock/mock_handshake.go on lines 205..208
p2p/p2pmock/mock_handshake.go on lines 220..223
p2p/p2pmock/mock_io.go on lines 45..48
p2p/p2pmock/mock_io.go on lines 97..100
p2p/p2pmock/mock_io.go on lines 135..138
p2p/p2pmock/mock_io.go on lines 187..190
p2p/p2pmock/mock_io.go on lines 239..242
p2p/p2pmock/mock_io.go on lines 254..257
p2p/p2pmock/mock_message.go on lines 213..216
p2p/p2pmock/mock_message.go on lines 228..231
p2p/p2pmock/mock_message.go on lines 411..414
p2p/p2pmock/mock_metricsman.go on lines 99..102
p2p/p2pmock/mock_msgio.go on lines 60..63
p2p/p2pmock/mock_msgio.go on lines 86..89
p2p/p2pmock/mock_msgorder.go on lines 117..120
p2p/p2pmock/mock_msgorder.go on lines 129..132
p2p/p2pmock/mock_msgorder.go on lines 208..211
p2p/p2pmock/mock_msgorder.go on lines 222..225
p2p/p2pmock/mock_msgorder.go on lines 236..239
p2p/p2pmock/mock_msgorder.go on lines 264..267
p2p/p2pmock/mock_networktransport.go on lines 160..163
p2p/p2pmock/mock_networktransport.go on lines 216..219
p2p/p2pmock/mock_networktransport.go on lines 230..233
p2p/p2pmock/mock_networktransport.go on lines 358..361
p2p/p2pmock/mock_peerfinder.go on lines 45..48
p2p/p2pmock/mock_peerfinder.go on lines 57..60
p2p/p2pmock/mock_peerfinder.go on lines 92..95
p2p/p2pmock/mock_peerfinder.go on lines 104..107
p2p/p2pmock/mock_peerfinder.go on lines 151..154
p2p/p2pmock/mock_peerfinder.go on lines 163..166
p2p/p2pmock/mock_peerfinder.go on lines 177..180
p2p/p2pmock/mock_peerfinder.go on lines 189..192
p2p/p2pmock/mock_peerfinder.go on lines 213..216
p2p/p2pmock/mock_peerfinder.go on lines 225..228
p2p/p2pmock/mock_peermanager.go on lines 45..48
p2p/p2pmock/mock_peermanager.go on lines 113..116
p2p/p2pmock/mock_peermanager.go on lines 125..128
p2p/p2pmock/mock_peermanager.go on lines 137..140
p2p/p2pmock/mock_peermanager.go on lines 149..152
p2p/p2pmock/mock_peermanager.go on lines 164..167
p2p/p2pmock/mock_peermanager.go on lines 246..249
p2p/p2pmock/mock_peermanager.go on lines 258..261
p2p/p2pmock/mock_peerrole.go on lines 96..99
p2p/p2pmock/mock_protobuf.go on lines 61..64
p2p/p2pmock/mock_protobuf.go on lines 75..78
p2p/p2pmock/mock_protobuf.go on lines 89..92
p2p/p2pmock/mock_protobuf.go on lines 103..106
p2p/p2pmock/mock_protobuf.go on lines 117..120
p2p/p2pmock/mock_protobuf.go on lines 129..132
p2p/p2pmock/mock_remotepeer.go on lines 180..183
p2p/p2pmock/mock_remotepeer.go on lines 256..259
p2p/p2pmock/mock_remotepeer.go on lines 270..273
p2p/p2pmock/mock_remotepeer.go on lines 296..299
p2p/p2pmock/mock_remotepeer.go on lines 309..312
p2p/p2pmock/mock_remotepeer.go on lines 323..326
p2p/p2pmock/mock_remotepeer.go on lines 351..354
p2p/p2pmock/mock_remotepeer.go on lines 389..392
p2p/p2pmock/mock_remotepeer.go on lines 403..406
p2p/p2pmock/mock_stream.go on lines 136..139
p2p/p2pmock/mock_stream.go on lines 164..167
p2p/p2pmock/mock_stream.go on lines 176..179
p2p/p2pmock/mock_stream.go on lines 190..193
p2p/p2pmock/mock_stream.go on lines 204..207
p2p/p2pmock/mock_stream.go on lines 233..236
p2p/p2pmock/mock_stream.go on lines 355..358
p2p/p2pmock/mock_syncmanager.go on lines 107..110
p2p/p2pmock/mock_syncmanager.go on lines 195..198

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 111.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 7 locations. Consider refactoring.
Open

func (m *MockHost) Connect(arg0 context.Context, arg1 peer.AddrInfo) error {
    m.ctrl.T.Helper()
    ret := m.ctrl.Call(m, "Connect", arg0, arg1)
    ret0, _ := ret[0].(error)
    return ret0
Severity: Major
Found in p2p/p2pmock/mock_host.go and 6 other locations - About 35 mins to fix
p2p/p2pmock/mock_message.go on lines 234..239
p2p/p2pmock/mock_message.go on lines 354..359
p2p/p2pmock/mock_networktransport.go on lines 180..185
p2p/p2pmock/mock_peerrole.go on lines 102..107
p2p/p2pmock/mock_remotepeer.go on lines 276..281
p2p/p2pmock/mock_remotepeer.go on lines 329..334

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 103.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 133 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) Peerstore() *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Peerstore", reflect.TypeOf((*MockHost)(nil).Peerstore))
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 132 other locations - About 30 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 46..49
p2p/p2pmock/mock_actorcontext.go on lines 72..75
p2p/p2pmock/mock_actorcontext.go on lines 98..101
p2p/p2pmock/mock_actorcontext.go on lines 112..115
p2p/p2pmock/mock_actorcontext.go on lines 126..129
p2p/p2pmock/mock_actorcontext.go on lines 138..141
p2p/p2pmock/mock_actorcontext.go on lines 164..167
p2p/p2pmock/mock_actorcontext.go on lines 216..219
p2p/p2pmock/mock_actorcontext.go on lines 230..233
p2p/p2pmock/mock_actorcontext.go on lines 309..312
p2p/p2pmock/mock_actorservice.go on lines 129..132
p2p/p2pmock/mock_certificate.go on lines 87..90
p2p/p2pmock/mock_certificate.go on lines 101..104
p2p/p2pmock/mock_certificate.go on lines 137..140
p2p/p2pmock/mock_certificate.go on lines 149..152
p2p/p2pmock/mock_chainaccessor.go on lines 61..64
p2p/p2pmock/mock_chainaccessor.go on lines 90..93
p2p/p2pmock/mock_chainaccessor.go on lines 104..107
p2p/p2pmock/mock_chainaccessor.go on lines 133..136
p2p/p2pmock/mock_consensus.go on lines 95..98
p2p/p2pmock/mock_consensus.go on lines 109..112
p2p/p2pmock/mock_handshake.go on lines 153..156
p2p/p2pmock/mock_handshake.go on lines 234..237
p2p/p2pmock/mock_host.go on lines 52..55
p2p/p2pmock/mock_host.go on lines 66..69
p2p/p2pmock/mock_host.go on lines 80..83
p2p/p2pmock/mock_host.go on lines 108..111
p2p/p2pmock/mock_host.go on lines 122..125
p2p/p2pmock/mock_host.go on lines 136..139
p2p/p2pmock/mock_host.go on lines 150..153
p2p/p2pmock/mock_internalservice.go on lines 47..50
p2p/p2pmock/mock_internalservice.go on lines 61..64
p2p/p2pmock/mock_internalservice.go on lines 75..78
p2p/p2pmock/mock_internalservice.go on lines 89..92
p2p/p2pmock/mock_internalservice.go on lines 103..106
p2p/p2pmock/mock_internalservice.go on lines 117..120
p2p/p2pmock/mock_internalservice.go on lines 131..134
p2p/p2pmock/mock_internalservice.go on lines 145..148
p2p/p2pmock/mock_io.go on lines 82..85
p2p/p2pmock/mock_io.go on lines 172..175
p2p/p2pmock/mock_io.go on lines 224..227
p2p/p2pmock/mock_listmanager.go on lines 44..47
p2p/p2pmock/mock_listmanager.go on lines 56..59
p2p/p2pmock/mock_listmanager.go on lines 83..86
p2p/p2pmock/mock_listmanager.go on lines 97..100
p2p/p2pmock/mock_message.go on lines 47..50
p2p/p2pmock/mock_message.go on lines 61..64
p2p/p2pmock/mock_message.go on lines 75..78
p2p/p2pmock/mock_message.go on lines 89..92
p2p/p2pmock/mock_message.go on lines 103..106
p2p/p2pmock/mock_message.go on lines 117..120
p2p/p2pmock/mock_message.go on lines 152..155
p2p/p2pmock/mock_message.go on lines 166..169
p2p/p2pmock/mock_message.go on lines 178..181
p2p/p2pmock/mock_message.go on lines 266..269
p2p/p2pmock/mock_message.go on lines 313..316
p2p/p2pmock/mock_metricsman.go on lines 44..47
p2p/p2pmock/mock_metricsman.go on lines 56..59
p2p/p2pmock/mock_metricsman.go on lines 113..116
p2p/p2pmock/mock_metricsman.go on lines 127..130
p2p/p2pmock/mock_metricsman.go on lines 141..144
p2p/p2pmock/mock_msgio.go on lines 46..49
p2p/p2pmock/mock_msgio.go on lines 74..77
p2p/p2pmock/mock_msgorder.go on lines 47..50
p2p/p2pmock/mock_msgorder.go on lines 61..64
p2p/p2pmock/mock_msgorder.go on lines 75..78
p2p/p2pmock/mock_msgorder.go on lines 89..92
p2p/p2pmock/mock_msgorder.go on lines 103..106
p2p/p2pmock/mock_networktransport.go on lines 55..58
p2p/p2pmock/mock_networktransport.go on lines 69..72
p2p/p2pmock/mock_networktransport.go on lines 83..86
p2p/p2pmock/mock_networktransport.go on lines 132..135
p2p/p2pmock/mock_networktransport.go on lines 146..149
p2p/p2pmock/mock_networktransport.go on lines 174..177
p2p/p2pmock/mock_networktransport.go on lines 202..205
p2p/p2pmock/mock_networktransport.go on lines 284..287
p2p/p2pmock/mock_networktransport.go on lines 298..301
p2p/p2pmock/mock_networktransport.go on lines 312..315
p2p/p2pmock/mock_networktransport.go on lines 346..349
p2p/p2pmock/mock_networktransport.go on lines 372..375
p2p/p2pmock/mock_networktransport.go on lines 410..413
p2p/p2pmock/mock_networktransport.go on lines 424..427
p2p/p2pmock/mock_peerfinder.go on lines 116..119
p2p/p2pmock/mock_peerfinder.go on lines 201..204
p2p/p2pmock/mock_peermanager.go on lines 59..62
p2p/p2pmock/mock_peermanager.go on lines 73..76
p2p/p2pmock/mock_peermanager.go on lines 87..90
p2p/p2pmock/mock_peermanager.go on lines 101..104
p2p/p2pmock/mock_peermanager.go on lines 178..181
p2p/p2pmock/mock_peermanager.go on lines 192..195
p2p/p2pmock/mock_peermanager.go on lines 206..209
p2p/p2pmock/mock_peermanager.go on lines 234..237
p2p/p2pmock/mock_peermanager.go on lines 272..275
p2p/p2pmock/mock_peerrole.go on lines 44..47
p2p/p2pmock/mock_peerrole.go on lines 56..59
p2p/p2pmock/mock_peerrole.go on lines 82..85
p2p/p2pmock/mock_protobuf.go on lines 47..50
p2p/p2pmock/mock_remotepeer.go on lines 84..87
p2p/p2pmock/mock_remotepeer.go on lines 98..101
p2p/p2pmock/mock_remotepeer.go on lines 112..115
p2p/p2pmock/mock_remotepeer.go on lines 126..129
p2p/p2pmock/mock_remotepeer.go on lines 140..143
p2p/p2pmock/mock_remotepeer.go on lines 154..157
p2p/p2pmock/mock_remotepeer.go on lines 168..171
p2p/p2pmock/mock_remotepeer.go on lines 206..209
p2p/p2pmock/mock_remotepeer.go on lines 220..223
p2p/p2pmock/mock_remotepeer.go on lines 232..235
p2p/p2pmock/mock_remotepeer.go on lines 244..247
p2p/p2pmock/mock_remotepeer.go on lines 377..380
p2p/p2pmock/mock_stream.go on lines 51..54
p2p/p2pmock/mock_stream.go on lines 65..68
p2p/p2pmock/mock_stream.go on lines 79..82
p2p/p2pmock/mock_stream.go on lines 93..96
p2p/p2pmock/mock_stream.go on lines 107..110
p2p/p2pmock/mock_stream.go on lines 121..124
p2p/p2pmock/mock_stream.go on lines 150..153
p2p/p2pmock/mock_stream.go on lines 218..221
p2p/p2pmock/mock_stream.go on lines 270..273
p2p/p2pmock/mock_stream.go on lines 284..287
p2p/p2pmock/mock_stream.go on lines 298..301
p2p/p2pmock/mock_stream.go on lines 312..315
p2p/p2pmock/mock_stream.go on lines 326..329
p2p/p2pmock/mock_stream.go on lines 340..343
p2p/p2pmock/mock_stream.go on lines 369..372
p2p/p2pmock/mock_stream.go on lines 383..386
p2p/p2pmock/mock_stream.go on lines 397..400
p2p/p2pmock/mock_stream.go on lines 411..414
p2p/p2pmock/mock_syncmanager.go on lines 131..134
p2p/p2pmock/mock_syncmanager.go on lines 143..146
p2p/p2pmock/mock_syncmanager.go on lines 157..160
p2p/p2pmock/mock_syncmanager.go on lines 209..212
p2p/p2pmock/mock_syncmanager.go on lines 223..226

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 102.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 133 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) Mux() *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Mux", reflect.TypeOf((*MockHost)(nil).Mux))
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 132 other locations - About 30 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 46..49
p2p/p2pmock/mock_actorcontext.go on lines 72..75
p2p/p2pmock/mock_actorcontext.go on lines 98..101
p2p/p2pmock/mock_actorcontext.go on lines 112..115
p2p/p2pmock/mock_actorcontext.go on lines 126..129
p2p/p2pmock/mock_actorcontext.go on lines 138..141
p2p/p2pmock/mock_actorcontext.go on lines 164..167
p2p/p2pmock/mock_actorcontext.go on lines 216..219
p2p/p2pmock/mock_actorcontext.go on lines 230..233
p2p/p2pmock/mock_actorcontext.go on lines 309..312
p2p/p2pmock/mock_actorservice.go on lines 129..132
p2p/p2pmock/mock_certificate.go on lines 87..90
p2p/p2pmock/mock_certificate.go on lines 101..104
p2p/p2pmock/mock_certificate.go on lines 137..140
p2p/p2pmock/mock_certificate.go on lines 149..152
p2p/p2pmock/mock_chainaccessor.go on lines 61..64
p2p/p2pmock/mock_chainaccessor.go on lines 90..93
p2p/p2pmock/mock_chainaccessor.go on lines 104..107
p2p/p2pmock/mock_chainaccessor.go on lines 133..136
p2p/p2pmock/mock_consensus.go on lines 95..98
p2p/p2pmock/mock_consensus.go on lines 109..112
p2p/p2pmock/mock_handshake.go on lines 153..156
p2p/p2pmock/mock_handshake.go on lines 234..237
p2p/p2pmock/mock_host.go on lines 52..55
p2p/p2pmock/mock_host.go on lines 66..69
p2p/p2pmock/mock_host.go on lines 80..83
p2p/p2pmock/mock_host.go on lines 108..111
p2p/p2pmock/mock_host.go on lines 122..125
p2p/p2pmock/mock_host.go on lines 150..153
p2p/p2pmock/mock_host.go on lines 184..187
p2p/p2pmock/mock_internalservice.go on lines 47..50
p2p/p2pmock/mock_internalservice.go on lines 61..64
p2p/p2pmock/mock_internalservice.go on lines 75..78
p2p/p2pmock/mock_internalservice.go on lines 89..92
p2p/p2pmock/mock_internalservice.go on lines 103..106
p2p/p2pmock/mock_internalservice.go on lines 117..120
p2p/p2pmock/mock_internalservice.go on lines 131..134
p2p/p2pmock/mock_internalservice.go on lines 145..148
p2p/p2pmock/mock_io.go on lines 82..85
p2p/p2pmock/mock_io.go on lines 172..175
p2p/p2pmock/mock_io.go on lines 224..227
p2p/p2pmock/mock_listmanager.go on lines 44..47
p2p/p2pmock/mock_listmanager.go on lines 56..59
p2p/p2pmock/mock_listmanager.go on lines 83..86
p2p/p2pmock/mock_listmanager.go on lines 97..100
p2p/p2pmock/mock_message.go on lines 47..50
p2p/p2pmock/mock_message.go on lines 61..64
p2p/p2pmock/mock_message.go on lines 75..78
p2p/p2pmock/mock_message.go on lines 89..92
p2p/p2pmock/mock_message.go on lines 103..106
p2p/p2pmock/mock_message.go on lines 117..120
p2p/p2pmock/mock_message.go on lines 152..155
p2p/p2pmock/mock_message.go on lines 166..169
p2p/p2pmock/mock_message.go on lines 178..181
p2p/p2pmock/mock_message.go on lines 266..269
p2p/p2pmock/mock_message.go on lines 313..316
p2p/p2pmock/mock_metricsman.go on lines 44..47
p2p/p2pmock/mock_metricsman.go on lines 56..59
p2p/p2pmock/mock_metricsman.go on lines 113..116
p2p/p2pmock/mock_metricsman.go on lines 127..130
p2p/p2pmock/mock_metricsman.go on lines 141..144
p2p/p2pmock/mock_msgio.go on lines 46..49
p2p/p2pmock/mock_msgio.go on lines 74..77
p2p/p2pmock/mock_msgorder.go on lines 47..50
p2p/p2pmock/mock_msgorder.go on lines 61..64
p2p/p2pmock/mock_msgorder.go on lines 75..78
p2p/p2pmock/mock_msgorder.go on lines 89..92
p2p/p2pmock/mock_msgorder.go on lines 103..106
p2p/p2pmock/mock_networktransport.go on lines 55..58
p2p/p2pmock/mock_networktransport.go on lines 69..72
p2p/p2pmock/mock_networktransport.go on lines 83..86
p2p/p2pmock/mock_networktransport.go on lines 132..135
p2p/p2pmock/mock_networktransport.go on lines 146..149
p2p/p2pmock/mock_networktransport.go on lines 174..177
p2p/p2pmock/mock_networktransport.go on lines 202..205
p2p/p2pmock/mock_networktransport.go on lines 284..287
p2p/p2pmock/mock_networktransport.go on lines 298..301
p2p/p2pmock/mock_networktransport.go on lines 312..315
p2p/p2pmock/mock_networktransport.go on lines 346..349
p2p/p2pmock/mock_networktransport.go on lines 372..375
p2p/p2pmock/mock_networktransport.go on lines 410..413
p2p/p2pmock/mock_networktransport.go on lines 424..427
p2p/p2pmock/mock_peerfinder.go on lines 116..119
p2p/p2pmock/mock_peerfinder.go on lines 201..204
p2p/p2pmock/mock_peermanager.go on lines 59..62
p2p/p2pmock/mock_peermanager.go on lines 73..76
p2p/p2pmock/mock_peermanager.go on lines 87..90
p2p/p2pmock/mock_peermanager.go on lines 101..104
p2p/p2pmock/mock_peermanager.go on lines 178..181
p2p/p2pmock/mock_peermanager.go on lines 192..195
p2p/p2pmock/mock_peermanager.go on lines 206..209
p2p/p2pmock/mock_peermanager.go on lines 234..237
p2p/p2pmock/mock_peermanager.go on lines 272..275
p2p/p2pmock/mock_peerrole.go on lines 44..47
p2p/p2pmock/mock_peerrole.go on lines 56..59
p2p/p2pmock/mock_peerrole.go on lines 82..85
p2p/p2pmock/mock_protobuf.go on lines 47..50
p2p/p2pmock/mock_remotepeer.go on lines 84..87
p2p/p2pmock/mock_remotepeer.go on lines 98..101
p2p/p2pmock/mock_remotepeer.go on lines 112..115
p2p/p2pmock/mock_remotepeer.go on lines 126..129
p2p/p2pmock/mock_remotepeer.go on lines 140..143
p2p/p2pmock/mock_remotepeer.go on lines 154..157
p2p/p2pmock/mock_remotepeer.go on lines 168..171
p2p/p2pmock/mock_remotepeer.go on lines 206..209
p2p/p2pmock/mock_remotepeer.go on lines 220..223
p2p/p2pmock/mock_remotepeer.go on lines 232..235
p2p/p2pmock/mock_remotepeer.go on lines 244..247
p2p/p2pmock/mock_remotepeer.go on lines 377..380
p2p/p2pmock/mock_stream.go on lines 51..54
p2p/p2pmock/mock_stream.go on lines 65..68
p2p/p2pmock/mock_stream.go on lines 79..82
p2p/p2pmock/mock_stream.go on lines 93..96
p2p/p2pmock/mock_stream.go on lines 107..110
p2p/p2pmock/mock_stream.go on lines 121..124
p2p/p2pmock/mock_stream.go on lines 150..153
p2p/p2pmock/mock_stream.go on lines 218..221
p2p/p2pmock/mock_stream.go on lines 270..273
p2p/p2pmock/mock_stream.go on lines 284..287
p2p/p2pmock/mock_stream.go on lines 298..301
p2p/p2pmock/mock_stream.go on lines 312..315
p2p/p2pmock/mock_stream.go on lines 326..329
p2p/p2pmock/mock_stream.go on lines 340..343
p2p/p2pmock/mock_stream.go on lines 369..372
p2p/p2pmock/mock_stream.go on lines 383..386
p2p/p2pmock/mock_stream.go on lines 397..400
p2p/p2pmock/mock_stream.go on lines 411..414
p2p/p2pmock/mock_syncmanager.go on lines 131..134
p2p/p2pmock/mock_syncmanager.go on lines 143..146
p2p/p2pmock/mock_syncmanager.go on lines 157..160
p2p/p2pmock/mock_syncmanager.go on lines 209..212
p2p/p2pmock/mock_syncmanager.go on lines 223..226

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 102.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 133 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) Close() *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockHost)(nil).Close))
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 132 other locations - About 30 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 46..49
p2p/p2pmock/mock_actorcontext.go on lines 72..75
p2p/p2pmock/mock_actorcontext.go on lines 98..101
p2p/p2pmock/mock_actorcontext.go on lines 112..115
p2p/p2pmock/mock_actorcontext.go on lines 126..129
p2p/p2pmock/mock_actorcontext.go on lines 138..141
p2p/p2pmock/mock_actorcontext.go on lines 164..167
p2p/p2pmock/mock_actorcontext.go on lines 216..219
p2p/p2pmock/mock_actorcontext.go on lines 230..233
p2p/p2pmock/mock_actorcontext.go on lines 309..312
p2p/p2pmock/mock_actorservice.go on lines 129..132
p2p/p2pmock/mock_certificate.go on lines 87..90
p2p/p2pmock/mock_certificate.go on lines 101..104
p2p/p2pmock/mock_certificate.go on lines 137..140
p2p/p2pmock/mock_certificate.go on lines 149..152
p2p/p2pmock/mock_chainaccessor.go on lines 61..64
p2p/p2pmock/mock_chainaccessor.go on lines 90..93
p2p/p2pmock/mock_chainaccessor.go on lines 104..107
p2p/p2pmock/mock_chainaccessor.go on lines 133..136
p2p/p2pmock/mock_consensus.go on lines 95..98
p2p/p2pmock/mock_consensus.go on lines 109..112
p2p/p2pmock/mock_handshake.go on lines 153..156
p2p/p2pmock/mock_handshake.go on lines 234..237
p2p/p2pmock/mock_host.go on lines 52..55
p2p/p2pmock/mock_host.go on lines 80..83
p2p/p2pmock/mock_host.go on lines 108..111
p2p/p2pmock/mock_host.go on lines 122..125
p2p/p2pmock/mock_host.go on lines 136..139
p2p/p2pmock/mock_host.go on lines 150..153
p2p/p2pmock/mock_host.go on lines 184..187
p2p/p2pmock/mock_internalservice.go on lines 47..50
p2p/p2pmock/mock_internalservice.go on lines 61..64
p2p/p2pmock/mock_internalservice.go on lines 75..78
p2p/p2pmock/mock_internalservice.go on lines 89..92
p2p/p2pmock/mock_internalservice.go on lines 103..106
p2p/p2pmock/mock_internalservice.go on lines 117..120
p2p/p2pmock/mock_internalservice.go on lines 131..134
p2p/p2pmock/mock_internalservice.go on lines 145..148
p2p/p2pmock/mock_io.go on lines 82..85
p2p/p2pmock/mock_io.go on lines 172..175
p2p/p2pmock/mock_io.go on lines 224..227
p2p/p2pmock/mock_listmanager.go on lines 44..47
p2p/p2pmock/mock_listmanager.go on lines 56..59
p2p/p2pmock/mock_listmanager.go on lines 83..86
p2p/p2pmock/mock_listmanager.go on lines 97..100
p2p/p2pmock/mock_message.go on lines 47..50
p2p/p2pmock/mock_message.go on lines 61..64
p2p/p2pmock/mock_message.go on lines 75..78
p2p/p2pmock/mock_message.go on lines 89..92
p2p/p2pmock/mock_message.go on lines 103..106
p2p/p2pmock/mock_message.go on lines 117..120
p2p/p2pmock/mock_message.go on lines 152..155
p2p/p2pmock/mock_message.go on lines 166..169
p2p/p2pmock/mock_message.go on lines 178..181
p2p/p2pmock/mock_message.go on lines 266..269
p2p/p2pmock/mock_message.go on lines 313..316
p2p/p2pmock/mock_metricsman.go on lines 44..47
p2p/p2pmock/mock_metricsman.go on lines 56..59
p2p/p2pmock/mock_metricsman.go on lines 113..116
p2p/p2pmock/mock_metricsman.go on lines 127..130
p2p/p2pmock/mock_metricsman.go on lines 141..144
p2p/p2pmock/mock_msgio.go on lines 46..49
p2p/p2pmock/mock_msgio.go on lines 74..77
p2p/p2pmock/mock_msgorder.go on lines 47..50
p2p/p2pmock/mock_msgorder.go on lines 61..64
p2p/p2pmock/mock_msgorder.go on lines 75..78
p2p/p2pmock/mock_msgorder.go on lines 89..92
p2p/p2pmock/mock_msgorder.go on lines 103..106
p2p/p2pmock/mock_networktransport.go on lines 55..58
p2p/p2pmock/mock_networktransport.go on lines 69..72
p2p/p2pmock/mock_networktransport.go on lines 83..86
p2p/p2pmock/mock_networktransport.go on lines 132..135
p2p/p2pmock/mock_networktransport.go on lines 146..149
p2p/p2pmock/mock_networktransport.go on lines 174..177
p2p/p2pmock/mock_networktransport.go on lines 202..205
p2p/p2pmock/mock_networktransport.go on lines 284..287
p2p/p2pmock/mock_networktransport.go on lines 298..301
p2p/p2pmock/mock_networktransport.go on lines 312..315
p2p/p2pmock/mock_networktransport.go on lines 346..349
p2p/p2pmock/mock_networktransport.go on lines 372..375
p2p/p2pmock/mock_networktransport.go on lines 410..413
p2p/p2pmock/mock_networktransport.go on lines 424..427
p2p/p2pmock/mock_peerfinder.go on lines 116..119
p2p/p2pmock/mock_peerfinder.go on lines 201..204
p2p/p2pmock/mock_peermanager.go on lines 59..62
p2p/p2pmock/mock_peermanager.go on lines 73..76
p2p/p2pmock/mock_peermanager.go on lines 87..90
p2p/p2pmock/mock_peermanager.go on lines 101..104
p2p/p2pmock/mock_peermanager.go on lines 178..181
p2p/p2pmock/mock_peermanager.go on lines 192..195
p2p/p2pmock/mock_peermanager.go on lines 206..209
p2p/p2pmock/mock_peermanager.go on lines 234..237
p2p/p2pmock/mock_peermanager.go on lines 272..275
p2p/p2pmock/mock_peerrole.go on lines 44..47
p2p/p2pmock/mock_peerrole.go on lines 56..59
p2p/p2pmock/mock_peerrole.go on lines 82..85
p2p/p2pmock/mock_protobuf.go on lines 47..50
p2p/p2pmock/mock_remotepeer.go on lines 84..87
p2p/p2pmock/mock_remotepeer.go on lines 98..101
p2p/p2pmock/mock_remotepeer.go on lines 112..115
p2p/p2pmock/mock_remotepeer.go on lines 126..129
p2p/p2pmock/mock_remotepeer.go on lines 140..143
p2p/p2pmock/mock_remotepeer.go on lines 154..157
p2p/p2pmock/mock_remotepeer.go on lines 168..171
p2p/p2pmock/mock_remotepeer.go on lines 206..209
p2p/p2pmock/mock_remotepeer.go on lines 220..223
p2p/p2pmock/mock_remotepeer.go on lines 232..235
p2p/p2pmock/mock_remotepeer.go on lines 244..247
p2p/p2pmock/mock_remotepeer.go on lines 377..380
p2p/p2pmock/mock_stream.go on lines 51..54
p2p/p2pmock/mock_stream.go on lines 65..68
p2p/p2pmock/mock_stream.go on lines 79..82
p2p/p2pmock/mock_stream.go on lines 93..96
p2p/p2pmock/mock_stream.go on lines 107..110
p2p/p2pmock/mock_stream.go on lines 121..124
p2p/p2pmock/mock_stream.go on lines 150..153
p2p/p2pmock/mock_stream.go on lines 218..221
p2p/p2pmock/mock_stream.go on lines 270..273
p2p/p2pmock/mock_stream.go on lines 284..287
p2p/p2pmock/mock_stream.go on lines 298..301
p2p/p2pmock/mock_stream.go on lines 312..315
p2p/p2pmock/mock_stream.go on lines 326..329
p2p/p2pmock/mock_stream.go on lines 340..343
p2p/p2pmock/mock_stream.go on lines 369..372
p2p/p2pmock/mock_stream.go on lines 383..386
p2p/p2pmock/mock_stream.go on lines 397..400
p2p/p2pmock/mock_stream.go on lines 411..414
p2p/p2pmock/mock_syncmanager.go on lines 131..134
p2p/p2pmock/mock_syncmanager.go on lines 143..146
p2p/p2pmock/mock_syncmanager.go on lines 157..160
p2p/p2pmock/mock_syncmanager.go on lines 209..212
p2p/p2pmock/mock_syncmanager.go on lines 223..226

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 102.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 133 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) EventBus() *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EventBus", reflect.TypeOf((*MockHost)(nil).EventBus))
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 132 other locations - About 30 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 46..49
p2p/p2pmock/mock_actorcontext.go on lines 72..75
p2p/p2pmock/mock_actorcontext.go on lines 98..101
p2p/p2pmock/mock_actorcontext.go on lines 112..115
p2p/p2pmock/mock_actorcontext.go on lines 126..129
p2p/p2pmock/mock_actorcontext.go on lines 138..141
p2p/p2pmock/mock_actorcontext.go on lines 164..167
p2p/p2pmock/mock_actorcontext.go on lines 216..219
p2p/p2pmock/mock_actorcontext.go on lines 230..233
p2p/p2pmock/mock_actorcontext.go on lines 309..312
p2p/p2pmock/mock_actorservice.go on lines 129..132
p2p/p2pmock/mock_certificate.go on lines 87..90
p2p/p2pmock/mock_certificate.go on lines 101..104
p2p/p2pmock/mock_certificate.go on lines 137..140
p2p/p2pmock/mock_certificate.go on lines 149..152
p2p/p2pmock/mock_chainaccessor.go on lines 61..64
p2p/p2pmock/mock_chainaccessor.go on lines 90..93
p2p/p2pmock/mock_chainaccessor.go on lines 104..107
p2p/p2pmock/mock_chainaccessor.go on lines 133..136
p2p/p2pmock/mock_consensus.go on lines 95..98
p2p/p2pmock/mock_consensus.go on lines 109..112
p2p/p2pmock/mock_handshake.go on lines 153..156
p2p/p2pmock/mock_handshake.go on lines 234..237
p2p/p2pmock/mock_host.go on lines 52..55
p2p/p2pmock/mock_host.go on lines 66..69
p2p/p2pmock/mock_host.go on lines 80..83
p2p/p2pmock/mock_host.go on lines 122..125
p2p/p2pmock/mock_host.go on lines 136..139
p2p/p2pmock/mock_host.go on lines 150..153
p2p/p2pmock/mock_host.go on lines 184..187
p2p/p2pmock/mock_internalservice.go on lines 47..50
p2p/p2pmock/mock_internalservice.go on lines 61..64
p2p/p2pmock/mock_internalservice.go on lines 75..78
p2p/p2pmock/mock_internalservice.go on lines 89..92
p2p/p2pmock/mock_internalservice.go on lines 103..106
p2p/p2pmock/mock_internalservice.go on lines 117..120
p2p/p2pmock/mock_internalservice.go on lines 131..134
p2p/p2pmock/mock_internalservice.go on lines 145..148
p2p/p2pmock/mock_io.go on lines 82..85
p2p/p2pmock/mock_io.go on lines 172..175
p2p/p2pmock/mock_io.go on lines 224..227
p2p/p2pmock/mock_listmanager.go on lines 44..47
p2p/p2pmock/mock_listmanager.go on lines 56..59
p2p/p2pmock/mock_listmanager.go on lines 83..86
p2p/p2pmock/mock_listmanager.go on lines 97..100
p2p/p2pmock/mock_message.go on lines 47..50
p2p/p2pmock/mock_message.go on lines 61..64
p2p/p2pmock/mock_message.go on lines 75..78
p2p/p2pmock/mock_message.go on lines 89..92
p2p/p2pmock/mock_message.go on lines 103..106
p2p/p2pmock/mock_message.go on lines 117..120
p2p/p2pmock/mock_message.go on lines 152..155
p2p/p2pmock/mock_message.go on lines 166..169
p2p/p2pmock/mock_message.go on lines 178..181
p2p/p2pmock/mock_message.go on lines 266..269
p2p/p2pmock/mock_message.go on lines 313..316
p2p/p2pmock/mock_metricsman.go on lines 44..47
p2p/p2pmock/mock_metricsman.go on lines 56..59
p2p/p2pmock/mock_metricsman.go on lines 113..116
p2p/p2pmock/mock_metricsman.go on lines 127..130
p2p/p2pmock/mock_metricsman.go on lines 141..144
p2p/p2pmock/mock_msgio.go on lines 46..49
p2p/p2pmock/mock_msgio.go on lines 74..77
p2p/p2pmock/mock_msgorder.go on lines 47..50
p2p/p2pmock/mock_msgorder.go on lines 61..64
p2p/p2pmock/mock_msgorder.go on lines 75..78
p2p/p2pmock/mock_msgorder.go on lines 89..92
p2p/p2pmock/mock_msgorder.go on lines 103..106
p2p/p2pmock/mock_networktransport.go on lines 55..58
p2p/p2pmock/mock_networktransport.go on lines 69..72
p2p/p2pmock/mock_networktransport.go on lines 83..86
p2p/p2pmock/mock_networktransport.go on lines 132..135
p2p/p2pmock/mock_networktransport.go on lines 146..149
p2p/p2pmock/mock_networktransport.go on lines 174..177
p2p/p2pmock/mock_networktransport.go on lines 202..205
p2p/p2pmock/mock_networktransport.go on lines 284..287
p2p/p2pmock/mock_networktransport.go on lines 298..301
p2p/p2pmock/mock_networktransport.go on lines 312..315
p2p/p2pmock/mock_networktransport.go on lines 346..349
p2p/p2pmock/mock_networktransport.go on lines 372..375
p2p/p2pmock/mock_networktransport.go on lines 410..413
p2p/p2pmock/mock_networktransport.go on lines 424..427
p2p/p2pmock/mock_peerfinder.go on lines 116..119
p2p/p2pmock/mock_peerfinder.go on lines 201..204
p2p/p2pmock/mock_peermanager.go on lines 59..62
p2p/p2pmock/mock_peermanager.go on lines 73..76
p2p/p2pmock/mock_peermanager.go on lines 87..90
p2p/p2pmock/mock_peermanager.go on lines 101..104
p2p/p2pmock/mock_peermanager.go on lines 178..181
p2p/p2pmock/mock_peermanager.go on lines 192..195
p2p/p2pmock/mock_peermanager.go on lines 206..209
p2p/p2pmock/mock_peermanager.go on lines 234..237
p2p/p2pmock/mock_peermanager.go on lines 272..275
p2p/p2pmock/mock_peerrole.go on lines 44..47
p2p/p2pmock/mock_peerrole.go on lines 56..59
p2p/p2pmock/mock_peerrole.go on lines 82..85
p2p/p2pmock/mock_protobuf.go on lines 47..50
p2p/p2pmock/mock_remotepeer.go on lines 84..87
p2p/p2pmock/mock_remotepeer.go on lines 98..101
p2p/p2pmock/mock_remotepeer.go on lines 112..115
p2p/p2pmock/mock_remotepeer.go on lines 126..129
p2p/p2pmock/mock_remotepeer.go on lines 140..143
p2p/p2pmock/mock_remotepeer.go on lines 154..157
p2p/p2pmock/mock_remotepeer.go on lines 168..171
p2p/p2pmock/mock_remotepeer.go on lines 206..209
p2p/p2pmock/mock_remotepeer.go on lines 220..223
p2p/p2pmock/mock_remotepeer.go on lines 232..235
p2p/p2pmock/mock_remotepeer.go on lines 244..247
p2p/p2pmock/mock_remotepeer.go on lines 377..380
p2p/p2pmock/mock_stream.go on lines 51..54
p2p/p2pmock/mock_stream.go on lines 65..68
p2p/p2pmock/mock_stream.go on lines 79..82
p2p/p2pmock/mock_stream.go on lines 93..96
p2p/p2pmock/mock_stream.go on lines 107..110
p2p/p2pmock/mock_stream.go on lines 121..124
p2p/p2pmock/mock_stream.go on lines 150..153
p2p/p2pmock/mock_stream.go on lines 218..221
p2p/p2pmock/mock_stream.go on lines 270..273
p2p/p2pmock/mock_stream.go on lines 284..287
p2p/p2pmock/mock_stream.go on lines 298..301
p2p/p2pmock/mock_stream.go on lines 312..315
p2p/p2pmock/mock_stream.go on lines 326..329
p2p/p2pmock/mock_stream.go on lines 340..343
p2p/p2pmock/mock_stream.go on lines 369..372
p2p/p2pmock/mock_stream.go on lines 383..386
p2p/p2pmock/mock_stream.go on lines 397..400
p2p/p2pmock/mock_stream.go on lines 411..414
p2p/p2pmock/mock_syncmanager.go on lines 131..134
p2p/p2pmock/mock_syncmanager.go on lines 143..146
p2p/p2pmock/mock_syncmanager.go on lines 157..160
p2p/p2pmock/mock_syncmanager.go on lines 209..212
p2p/p2pmock/mock_syncmanager.go on lines 223..226

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 102.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 133 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) ID() *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ID", reflect.TypeOf((*MockHost)(nil).ID))
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 132 other locations - About 30 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 46..49
p2p/p2pmock/mock_actorcontext.go on lines 72..75
p2p/p2pmock/mock_actorcontext.go on lines 98..101
p2p/p2pmock/mock_actorcontext.go on lines 112..115
p2p/p2pmock/mock_actorcontext.go on lines 126..129
p2p/p2pmock/mock_actorcontext.go on lines 138..141
p2p/p2pmock/mock_actorcontext.go on lines 164..167
p2p/p2pmock/mock_actorcontext.go on lines 216..219
p2p/p2pmock/mock_actorcontext.go on lines 230..233
p2p/p2pmock/mock_actorcontext.go on lines 309..312
p2p/p2pmock/mock_actorservice.go on lines 129..132
p2p/p2pmock/mock_certificate.go on lines 87..90
p2p/p2pmock/mock_certificate.go on lines 101..104
p2p/p2pmock/mock_certificate.go on lines 137..140
p2p/p2pmock/mock_certificate.go on lines 149..152
p2p/p2pmock/mock_chainaccessor.go on lines 61..64
p2p/p2pmock/mock_chainaccessor.go on lines 90..93
p2p/p2pmock/mock_chainaccessor.go on lines 104..107
p2p/p2pmock/mock_chainaccessor.go on lines 133..136
p2p/p2pmock/mock_consensus.go on lines 95..98
p2p/p2pmock/mock_consensus.go on lines 109..112
p2p/p2pmock/mock_handshake.go on lines 153..156
p2p/p2pmock/mock_handshake.go on lines 234..237
p2p/p2pmock/mock_host.go on lines 52..55
p2p/p2pmock/mock_host.go on lines 66..69
p2p/p2pmock/mock_host.go on lines 80..83
p2p/p2pmock/mock_host.go on lines 108..111
p2p/p2pmock/mock_host.go on lines 136..139
p2p/p2pmock/mock_host.go on lines 150..153
p2p/p2pmock/mock_host.go on lines 184..187
p2p/p2pmock/mock_internalservice.go on lines 47..50
p2p/p2pmock/mock_internalservice.go on lines 61..64
p2p/p2pmock/mock_internalservice.go on lines 75..78
p2p/p2pmock/mock_internalservice.go on lines 89..92
p2p/p2pmock/mock_internalservice.go on lines 103..106
p2p/p2pmock/mock_internalservice.go on lines 117..120
p2p/p2pmock/mock_internalservice.go on lines 131..134
p2p/p2pmock/mock_internalservice.go on lines 145..148
p2p/p2pmock/mock_io.go on lines 82..85
p2p/p2pmock/mock_io.go on lines 172..175
p2p/p2pmock/mock_io.go on lines 224..227
p2p/p2pmock/mock_listmanager.go on lines 44..47
p2p/p2pmock/mock_listmanager.go on lines 56..59
p2p/p2pmock/mock_listmanager.go on lines 83..86
p2p/p2pmock/mock_listmanager.go on lines 97..100
p2p/p2pmock/mock_message.go on lines 47..50
p2p/p2pmock/mock_message.go on lines 61..64
p2p/p2pmock/mock_message.go on lines 75..78
p2p/p2pmock/mock_message.go on lines 89..92
p2p/p2pmock/mock_message.go on lines 103..106
p2p/p2pmock/mock_message.go on lines 117..120
p2p/p2pmock/mock_message.go on lines 152..155
p2p/p2pmock/mock_message.go on lines 166..169
p2p/p2pmock/mock_message.go on lines 178..181
p2p/p2pmock/mock_message.go on lines 266..269
p2p/p2pmock/mock_message.go on lines 313..316
p2p/p2pmock/mock_metricsman.go on lines 44..47
p2p/p2pmock/mock_metricsman.go on lines 56..59
p2p/p2pmock/mock_metricsman.go on lines 113..116
p2p/p2pmock/mock_metricsman.go on lines 127..130
p2p/p2pmock/mock_metricsman.go on lines 141..144
p2p/p2pmock/mock_msgio.go on lines 46..49
p2p/p2pmock/mock_msgio.go on lines 74..77
p2p/p2pmock/mock_msgorder.go on lines 47..50
p2p/p2pmock/mock_msgorder.go on lines 61..64
p2p/p2pmock/mock_msgorder.go on lines 75..78
p2p/p2pmock/mock_msgorder.go on lines 89..92
p2p/p2pmock/mock_msgorder.go on lines 103..106
p2p/p2pmock/mock_networktransport.go on lines 55..58
p2p/p2pmock/mock_networktransport.go on lines 69..72
p2p/p2pmock/mock_networktransport.go on lines 83..86
p2p/p2pmock/mock_networktransport.go on lines 132..135
p2p/p2pmock/mock_networktransport.go on lines 146..149
p2p/p2pmock/mock_networktransport.go on lines 174..177
p2p/p2pmock/mock_networktransport.go on lines 202..205
p2p/p2pmock/mock_networktransport.go on lines 284..287
p2p/p2pmock/mock_networktransport.go on lines 298..301
p2p/p2pmock/mock_networktransport.go on lines 312..315
p2p/p2pmock/mock_networktransport.go on lines 346..349
p2p/p2pmock/mock_networktransport.go on lines 372..375
p2p/p2pmock/mock_networktransport.go on lines 410..413
p2p/p2pmock/mock_networktransport.go on lines 424..427
p2p/p2pmock/mock_peerfinder.go on lines 116..119
p2p/p2pmock/mock_peerfinder.go on lines 201..204
p2p/p2pmock/mock_peermanager.go on lines 59..62
p2p/p2pmock/mock_peermanager.go on lines 73..76
p2p/p2pmock/mock_peermanager.go on lines 87..90
p2p/p2pmock/mock_peermanager.go on lines 101..104
p2p/p2pmock/mock_peermanager.go on lines 178..181
p2p/p2pmock/mock_peermanager.go on lines 192..195
p2p/p2pmock/mock_peermanager.go on lines 206..209
p2p/p2pmock/mock_peermanager.go on lines 234..237
p2p/p2pmock/mock_peermanager.go on lines 272..275
p2p/p2pmock/mock_peerrole.go on lines 44..47
p2p/p2pmock/mock_peerrole.go on lines 56..59
p2p/p2pmock/mock_peerrole.go on lines 82..85
p2p/p2pmock/mock_protobuf.go on lines 47..50
p2p/p2pmock/mock_remotepeer.go on lines 84..87
p2p/p2pmock/mock_remotepeer.go on lines 98..101
p2p/p2pmock/mock_remotepeer.go on lines 112..115
p2p/p2pmock/mock_remotepeer.go on lines 126..129
p2p/p2pmock/mock_remotepeer.go on lines 140..143
p2p/p2pmock/mock_remotepeer.go on lines 154..157
p2p/p2pmock/mock_remotepeer.go on lines 168..171
p2p/p2pmock/mock_remotepeer.go on lines 206..209
p2p/p2pmock/mock_remotepeer.go on lines 220..223
p2p/p2pmock/mock_remotepeer.go on lines 232..235
p2p/p2pmock/mock_remotepeer.go on lines 244..247
p2p/p2pmock/mock_remotepeer.go on lines 377..380
p2p/p2pmock/mock_stream.go on lines 51..54
p2p/p2pmock/mock_stream.go on lines 65..68
p2p/p2pmock/mock_stream.go on lines 79..82
p2p/p2pmock/mock_stream.go on lines 93..96
p2p/p2pmock/mock_stream.go on lines 107..110
p2p/p2pmock/mock_stream.go on lines 121..124
p2p/p2pmock/mock_stream.go on lines 150..153
p2p/p2pmock/mock_stream.go on lines 218..221
p2p/p2pmock/mock_stream.go on lines 270..273
p2p/p2pmock/mock_stream.go on lines 284..287
p2p/p2pmock/mock_stream.go on lines 298..301
p2p/p2pmock/mock_stream.go on lines 312..315
p2p/p2pmock/mock_stream.go on lines 326..329
p2p/p2pmock/mock_stream.go on lines 340..343
p2p/p2pmock/mock_stream.go on lines 369..372
p2p/p2pmock/mock_stream.go on lines 383..386
p2p/p2pmock/mock_stream.go on lines 397..400
p2p/p2pmock/mock_stream.go on lines 411..414
p2p/p2pmock/mock_syncmanager.go on lines 131..134
p2p/p2pmock/mock_syncmanager.go on lines 143..146
p2p/p2pmock/mock_syncmanager.go on lines 157..160
p2p/p2pmock/mock_syncmanager.go on lines 209..212
p2p/p2pmock/mock_syncmanager.go on lines 223..226

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 102.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 133 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) ConnManager() *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConnManager", reflect.TypeOf((*MockHost)(nil).ConnManager))
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 132 other locations - About 30 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 46..49
p2p/p2pmock/mock_actorcontext.go on lines 72..75
p2p/p2pmock/mock_actorcontext.go on lines 98..101
p2p/p2pmock/mock_actorcontext.go on lines 112..115
p2p/p2pmock/mock_actorcontext.go on lines 126..129
p2p/p2pmock/mock_actorcontext.go on lines 138..141
p2p/p2pmock/mock_actorcontext.go on lines 164..167
p2p/p2pmock/mock_actorcontext.go on lines 216..219
p2p/p2pmock/mock_actorcontext.go on lines 230..233
p2p/p2pmock/mock_actorcontext.go on lines 309..312
p2p/p2pmock/mock_actorservice.go on lines 129..132
p2p/p2pmock/mock_certificate.go on lines 87..90
p2p/p2pmock/mock_certificate.go on lines 101..104
p2p/p2pmock/mock_certificate.go on lines 137..140
p2p/p2pmock/mock_certificate.go on lines 149..152
p2p/p2pmock/mock_chainaccessor.go on lines 61..64
p2p/p2pmock/mock_chainaccessor.go on lines 90..93
p2p/p2pmock/mock_chainaccessor.go on lines 104..107
p2p/p2pmock/mock_chainaccessor.go on lines 133..136
p2p/p2pmock/mock_consensus.go on lines 95..98
p2p/p2pmock/mock_consensus.go on lines 109..112
p2p/p2pmock/mock_handshake.go on lines 153..156
p2p/p2pmock/mock_handshake.go on lines 234..237
p2p/p2pmock/mock_host.go on lines 52..55
p2p/p2pmock/mock_host.go on lines 66..69
p2p/p2pmock/mock_host.go on lines 108..111
p2p/p2pmock/mock_host.go on lines 122..125
p2p/p2pmock/mock_host.go on lines 136..139
p2p/p2pmock/mock_host.go on lines 150..153
p2p/p2pmock/mock_host.go on lines 184..187
p2p/p2pmock/mock_internalservice.go on lines 47..50
p2p/p2pmock/mock_internalservice.go on lines 61..64
p2p/p2pmock/mock_internalservice.go on lines 75..78
p2p/p2pmock/mock_internalservice.go on lines 89..92
p2p/p2pmock/mock_internalservice.go on lines 103..106
p2p/p2pmock/mock_internalservice.go on lines 117..120
p2p/p2pmock/mock_internalservice.go on lines 131..134
p2p/p2pmock/mock_internalservice.go on lines 145..148
p2p/p2pmock/mock_io.go on lines 82..85
p2p/p2pmock/mock_io.go on lines 172..175
p2p/p2pmock/mock_io.go on lines 224..227
p2p/p2pmock/mock_listmanager.go on lines 44..47
p2p/p2pmock/mock_listmanager.go on lines 56..59
p2p/p2pmock/mock_listmanager.go on lines 83..86
p2p/p2pmock/mock_listmanager.go on lines 97..100
p2p/p2pmock/mock_message.go on lines 47..50
p2p/p2pmock/mock_message.go on lines 61..64
p2p/p2pmock/mock_message.go on lines 75..78
p2p/p2pmock/mock_message.go on lines 89..92
p2p/p2pmock/mock_message.go on lines 103..106
p2p/p2pmock/mock_message.go on lines 117..120
p2p/p2pmock/mock_message.go on lines 152..155
p2p/p2pmock/mock_message.go on lines 166..169
p2p/p2pmock/mock_message.go on lines 178..181
p2p/p2pmock/mock_message.go on lines 266..269
p2p/p2pmock/mock_message.go on lines 313..316
p2p/p2pmock/mock_metricsman.go on lines 44..47
p2p/p2pmock/mock_metricsman.go on lines 56..59
p2p/p2pmock/mock_metricsman.go on lines 113..116
p2p/p2pmock/mock_metricsman.go on lines 127..130
p2p/p2pmock/mock_metricsman.go on lines 141..144
p2p/p2pmock/mock_msgio.go on lines 46..49
p2p/p2pmock/mock_msgio.go on lines 74..77
p2p/p2pmock/mock_msgorder.go on lines 47..50
p2p/p2pmock/mock_msgorder.go on lines 61..64
p2p/p2pmock/mock_msgorder.go on lines 75..78
p2p/p2pmock/mock_msgorder.go on lines 89..92
p2p/p2pmock/mock_msgorder.go on lines 103..106
p2p/p2pmock/mock_networktransport.go on lines 55..58
p2p/p2pmock/mock_networktransport.go on lines 69..72
p2p/p2pmock/mock_networktransport.go on lines 83..86
p2p/p2pmock/mock_networktransport.go on lines 132..135
p2p/p2pmock/mock_networktransport.go on lines 146..149
p2p/p2pmock/mock_networktransport.go on lines 174..177
p2p/p2pmock/mock_networktransport.go on lines 202..205
p2p/p2pmock/mock_networktransport.go on lines 284..287
p2p/p2pmock/mock_networktransport.go on lines 298..301
p2p/p2pmock/mock_networktransport.go on lines 312..315
p2p/p2pmock/mock_networktransport.go on lines 346..349
p2p/p2pmock/mock_networktransport.go on lines 372..375
p2p/p2pmock/mock_networktransport.go on lines 410..413
p2p/p2pmock/mock_networktransport.go on lines 424..427
p2p/p2pmock/mock_peerfinder.go on lines 116..119
p2p/p2pmock/mock_peerfinder.go on lines 201..204
p2p/p2pmock/mock_peermanager.go on lines 59..62
p2p/p2pmock/mock_peermanager.go on lines 73..76
p2p/p2pmock/mock_peermanager.go on lines 87..90
p2p/p2pmock/mock_peermanager.go on lines 101..104
p2p/p2pmock/mock_peermanager.go on lines 178..181
p2p/p2pmock/mock_peermanager.go on lines 192..195
p2p/p2pmock/mock_peermanager.go on lines 206..209
p2p/p2pmock/mock_peermanager.go on lines 234..237
p2p/p2pmock/mock_peermanager.go on lines 272..275
p2p/p2pmock/mock_peerrole.go on lines 44..47
p2p/p2pmock/mock_peerrole.go on lines 56..59
p2p/p2pmock/mock_peerrole.go on lines 82..85
p2p/p2pmock/mock_protobuf.go on lines 47..50
p2p/p2pmock/mock_remotepeer.go on lines 84..87
p2p/p2pmock/mock_remotepeer.go on lines 98..101
p2p/p2pmock/mock_remotepeer.go on lines 112..115
p2p/p2pmock/mock_remotepeer.go on lines 126..129
p2p/p2pmock/mock_remotepeer.go on lines 140..143
p2p/p2pmock/mock_remotepeer.go on lines 154..157
p2p/p2pmock/mock_remotepeer.go on lines 168..171
p2p/p2pmock/mock_remotepeer.go on lines 206..209
p2p/p2pmock/mock_remotepeer.go on lines 220..223
p2p/p2pmock/mock_remotepeer.go on lines 232..235
p2p/p2pmock/mock_remotepeer.go on lines 244..247
p2p/p2pmock/mock_remotepeer.go on lines 377..380
p2p/p2pmock/mock_stream.go on lines 51..54
p2p/p2pmock/mock_stream.go on lines 65..68
p2p/p2pmock/mock_stream.go on lines 79..82
p2p/p2pmock/mock_stream.go on lines 93..96
p2p/p2pmock/mock_stream.go on lines 107..110
p2p/p2pmock/mock_stream.go on lines 121..124
p2p/p2pmock/mock_stream.go on lines 150..153
p2p/p2pmock/mock_stream.go on lines 218..221
p2p/p2pmock/mock_stream.go on lines 270..273
p2p/p2pmock/mock_stream.go on lines 284..287
p2p/p2pmock/mock_stream.go on lines 298..301
p2p/p2pmock/mock_stream.go on lines 312..315
p2p/p2pmock/mock_stream.go on lines 326..329
p2p/p2pmock/mock_stream.go on lines 340..343
p2p/p2pmock/mock_stream.go on lines 369..372
p2p/p2pmock/mock_stream.go on lines 383..386
p2p/p2pmock/mock_stream.go on lines 397..400
p2p/p2pmock/mock_stream.go on lines 411..414
p2p/p2pmock/mock_syncmanager.go on lines 131..134
p2p/p2pmock/mock_syncmanager.go on lines 143..146
p2p/p2pmock/mock_syncmanager.go on lines 157..160
p2p/p2pmock/mock_syncmanager.go on lines 209..212
p2p/p2pmock/mock_syncmanager.go on lines 223..226

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 102.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 133 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) Addrs() *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Addrs", reflect.TypeOf((*MockHost)(nil).Addrs))
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 132 other locations - About 30 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 46..49
p2p/p2pmock/mock_actorcontext.go on lines 72..75
p2p/p2pmock/mock_actorcontext.go on lines 98..101
p2p/p2pmock/mock_actorcontext.go on lines 112..115
p2p/p2pmock/mock_actorcontext.go on lines 126..129
p2p/p2pmock/mock_actorcontext.go on lines 138..141
p2p/p2pmock/mock_actorcontext.go on lines 164..167
p2p/p2pmock/mock_actorcontext.go on lines 216..219
p2p/p2pmock/mock_actorcontext.go on lines 230..233
p2p/p2pmock/mock_actorcontext.go on lines 309..312
p2p/p2pmock/mock_actorservice.go on lines 129..132
p2p/p2pmock/mock_certificate.go on lines 87..90
p2p/p2pmock/mock_certificate.go on lines 101..104
p2p/p2pmock/mock_certificate.go on lines 137..140
p2p/p2pmock/mock_certificate.go on lines 149..152
p2p/p2pmock/mock_chainaccessor.go on lines 61..64
p2p/p2pmock/mock_chainaccessor.go on lines 90..93
p2p/p2pmock/mock_chainaccessor.go on lines 104..107
p2p/p2pmock/mock_chainaccessor.go on lines 133..136
p2p/p2pmock/mock_consensus.go on lines 95..98
p2p/p2pmock/mock_consensus.go on lines 109..112
p2p/p2pmock/mock_handshake.go on lines 153..156
p2p/p2pmock/mock_handshake.go on lines 234..237
p2p/p2pmock/mock_host.go on lines 66..69
p2p/p2pmock/mock_host.go on lines 80..83
p2p/p2pmock/mock_host.go on lines 108..111
p2p/p2pmock/mock_host.go on lines 122..125
p2p/p2pmock/mock_host.go on lines 136..139
p2p/p2pmock/mock_host.go on lines 150..153
p2p/p2pmock/mock_host.go on lines 184..187
p2p/p2pmock/mock_internalservice.go on lines 47..50
p2p/p2pmock/mock_internalservice.go on lines 61..64
p2p/p2pmock/mock_internalservice.go on lines 75..78
p2p/p2pmock/mock_internalservice.go on lines 89..92
p2p/p2pmock/mock_internalservice.go on lines 103..106
p2p/p2pmock/mock_internalservice.go on lines 117..120
p2p/p2pmock/mock_internalservice.go on lines 131..134
p2p/p2pmock/mock_internalservice.go on lines 145..148
p2p/p2pmock/mock_io.go on lines 82..85
p2p/p2pmock/mock_io.go on lines 172..175
p2p/p2pmock/mock_io.go on lines 224..227
p2p/p2pmock/mock_listmanager.go on lines 44..47
p2p/p2pmock/mock_listmanager.go on lines 56..59
p2p/p2pmock/mock_listmanager.go on lines 83..86
p2p/p2pmock/mock_listmanager.go on lines 97..100
p2p/p2pmock/mock_message.go on lines 47..50
p2p/p2pmock/mock_message.go on lines 61..64
p2p/p2pmock/mock_message.go on lines 75..78
p2p/p2pmock/mock_message.go on lines 89..92
p2p/p2pmock/mock_message.go on lines 103..106
p2p/p2pmock/mock_message.go on lines 117..120
p2p/p2pmock/mock_message.go on lines 152..155
p2p/p2pmock/mock_message.go on lines 166..169
p2p/p2pmock/mock_message.go on lines 178..181
p2p/p2pmock/mock_message.go on lines 266..269
p2p/p2pmock/mock_message.go on lines 313..316
p2p/p2pmock/mock_metricsman.go on lines 44..47
p2p/p2pmock/mock_metricsman.go on lines 56..59
p2p/p2pmock/mock_metricsman.go on lines 113..116
p2p/p2pmock/mock_metricsman.go on lines 127..130
p2p/p2pmock/mock_metricsman.go on lines 141..144
p2p/p2pmock/mock_msgio.go on lines 46..49
p2p/p2pmock/mock_msgio.go on lines 74..77
p2p/p2pmock/mock_msgorder.go on lines 47..50
p2p/p2pmock/mock_msgorder.go on lines 61..64
p2p/p2pmock/mock_msgorder.go on lines 75..78
p2p/p2pmock/mock_msgorder.go on lines 89..92
p2p/p2pmock/mock_msgorder.go on lines 103..106
p2p/p2pmock/mock_networktransport.go on lines 55..58
p2p/p2pmock/mock_networktransport.go on lines 69..72
p2p/p2pmock/mock_networktransport.go on lines 83..86
p2p/p2pmock/mock_networktransport.go on lines 132..135
p2p/p2pmock/mock_networktransport.go on lines 146..149
p2p/p2pmock/mock_networktransport.go on lines 174..177
p2p/p2pmock/mock_networktransport.go on lines 202..205
p2p/p2pmock/mock_networktransport.go on lines 284..287
p2p/p2pmock/mock_networktransport.go on lines 298..301
p2p/p2pmock/mock_networktransport.go on lines 312..315
p2p/p2pmock/mock_networktransport.go on lines 346..349
p2p/p2pmock/mock_networktransport.go on lines 372..375
p2p/p2pmock/mock_networktransport.go on lines 410..413
p2p/p2pmock/mock_networktransport.go on lines 424..427
p2p/p2pmock/mock_peerfinder.go on lines 116..119
p2p/p2pmock/mock_peerfinder.go on lines 201..204
p2p/p2pmock/mock_peermanager.go on lines 59..62
p2p/p2pmock/mock_peermanager.go on lines 73..76
p2p/p2pmock/mock_peermanager.go on lines 87..90
p2p/p2pmock/mock_peermanager.go on lines 101..104
p2p/p2pmock/mock_peermanager.go on lines 178..181
p2p/p2pmock/mock_peermanager.go on lines 192..195
p2p/p2pmock/mock_peermanager.go on lines 206..209
p2p/p2pmock/mock_peermanager.go on lines 234..237
p2p/p2pmock/mock_peermanager.go on lines 272..275
p2p/p2pmock/mock_peerrole.go on lines 44..47
p2p/p2pmock/mock_peerrole.go on lines 56..59
p2p/p2pmock/mock_peerrole.go on lines 82..85
p2p/p2pmock/mock_protobuf.go on lines 47..50
p2p/p2pmock/mock_remotepeer.go on lines 84..87
p2p/p2pmock/mock_remotepeer.go on lines 98..101
p2p/p2pmock/mock_remotepeer.go on lines 112..115
p2p/p2pmock/mock_remotepeer.go on lines 126..129
p2p/p2pmock/mock_remotepeer.go on lines 140..143
p2p/p2pmock/mock_remotepeer.go on lines 154..157
p2p/p2pmock/mock_remotepeer.go on lines 168..171
p2p/p2pmock/mock_remotepeer.go on lines 206..209
p2p/p2pmock/mock_remotepeer.go on lines 220..223
p2p/p2pmock/mock_remotepeer.go on lines 232..235
p2p/p2pmock/mock_remotepeer.go on lines 244..247
p2p/p2pmock/mock_remotepeer.go on lines 377..380
p2p/p2pmock/mock_stream.go on lines 51..54
p2p/p2pmock/mock_stream.go on lines 65..68
p2p/p2pmock/mock_stream.go on lines 79..82
p2p/p2pmock/mock_stream.go on lines 93..96
p2p/p2pmock/mock_stream.go on lines 107..110
p2p/p2pmock/mock_stream.go on lines 121..124
p2p/p2pmock/mock_stream.go on lines 150..153
p2p/p2pmock/mock_stream.go on lines 218..221
p2p/p2pmock/mock_stream.go on lines 270..273
p2p/p2pmock/mock_stream.go on lines 284..287
p2p/p2pmock/mock_stream.go on lines 298..301
p2p/p2pmock/mock_stream.go on lines 312..315
p2p/p2pmock/mock_stream.go on lines 326..329
p2p/p2pmock/mock_stream.go on lines 340..343
p2p/p2pmock/mock_stream.go on lines 369..372
p2p/p2pmock/mock_stream.go on lines 383..386
p2p/p2pmock/mock_stream.go on lines 397..400
p2p/p2pmock/mock_stream.go on lines 411..414
p2p/p2pmock/mock_syncmanager.go on lines 131..134
p2p/p2pmock/mock_syncmanager.go on lines 143..146
p2p/p2pmock/mock_syncmanager.go on lines 157..160
p2p/p2pmock/mock_syncmanager.go on lines 209..212
p2p/p2pmock/mock_syncmanager.go on lines 223..226

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 102.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 133 locations. Consider refactoring.
Open

func (mr *MockHostMockRecorder) Network() *gomock.Call {
    mr.mock.ctrl.T.Helper()
    return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Network", reflect.TypeOf((*MockHost)(nil).Network))
}
Severity: Major
Found in p2p/p2pmock/mock_host.go and 132 other locations - About 30 mins to fix
p2p/p2pmock/mock_actorcontext.go on lines 46..49
p2p/p2pmock/mock_actorcontext.go on lines 72..75
p2p/p2pmock/mock_actorcontext.go on lines 98..101
p2p/p2pmock/mock_actorcontext.go on lines 112..115
p2p/p2pmock/mock_actorcontext.go on lines 126..129
p2p/p2pmock/mock_actorcontext.go on lines 138..141
p2p/p2pmock/mock_actorcontext.go on lines 164..167
p2p/p2pmock/mock_actorcontext.go on lines 216..219
p2p/p2pmock/mock_actorcontext.go on lines 230..233
p2p/p2pmock/mock_actorcontext.go on lines 309..312
p2p/p2pmock/mock_actorservice.go on lines 129..132
p2p/p2pmock/mock_certificate.go on lines 87..90
p2p/p2pmock/mock_certificate.go on lines 101..104
p2p/p2pmock/mock_certificate.go on lines 137..140
p2p/p2pmock/mock_certificate.go on lines 149..152
p2p/p2pmock/mock_chainaccessor.go on lines 61..64
p2p/p2pmock/mock_chainaccessor.go on lines 90..93
p2p/p2pmock/mock_chainaccessor.go on lines 104..107
p2p/p2pmock/mock_chainaccessor.go on lines 133..136
p2p/p2pmock/mock_consensus.go on lines 95..98
p2p/p2pmock/mock_consensus.go on lines 109..112
p2p/p2pmock/mock_handshake.go on lines 153..156
p2p/p2pmock/mock_handshake.go on lines 234..237
p2p/p2pmock/mock_host.go on lines 52..55
p2p/p2pmock/mock_host.go on lines 66..69
p2p/p2pmock/mock_host.go on lines 80..83
p2p/p2pmock/mock_host.go on lines 108..111
p2p/p2pmock/mock_host.go on lines 122..125
p2p/p2pmock/mock_host.go on lines 136..139
p2p/p2pmock/mock_host.go on lines 184..187
p2p/p2pmock/mock_internalservice.go on lines 47..50
p2p/p2pmock/mock_internalservice.go on lines 61..64
p2p/p2pmock/mock_internalservice.go on lines 75..78
p2p/p2pmock/mock_internalservice.go on lines 89..92
p2p/p2pmock/mock_internalservice.go on lines 103..106
p2p/p2pmock/mock_internalservice.go on lines 117..120
p2p/p2pmock/mock_internalservice.go on lines 131..134
p2p/p2pmock/mock_internalservice.go on lines 145..148
p2p/p2pmock/mock_io.go on lines 82..85
p2p/p2pmock/mock_io.go on lines 172..175
p2p/p2pmock/mock_io.go on lines 224..227
p2p/p2pmock/mock_listmanager.go on lines 44..47
p2p/p2pmock/mock_listmanager.go on lines 56..59
p2p/p2pmock/mock_listmanager.go on lines 83..86
p2p/p2pmock/mock_listmanager.go on lines 97..100
p2p/p2pmock/mock_message.go on lines 47..50
p2p/p2pmock/mock_message.go on lines 61..64
p2p/p2pmock/mock_message.go on lines 75..78
p2p/p2pmock/mock_message.go on lines 89..92
p2p/p2pmock/mock_message.go on lines 103..106
p2p/p2pmock/mock_message.go on lines 117..120
p2p/p2pmock/mock_message.go on lines 152..155
p2p/p2pmock/mock_message.go on lines 166..169
p2p/p2pmock/mock_message.go on lines 178..181
p2p/p2pmock/mock_message.go on lines 266..269
p2p/p2pmock/mock_message.go on lines 313..316
p2p/p2pmock/mock_metricsman.go on lines 44..47
p2p/p2pmock/mock_metricsman.go on lines 56..59
p2p/p2pmock/mock_metricsman.go on lines 113..116
p2p/p2pmock/mock_metricsman.go on lines 127..130
p2p/p2pmock/mock_metricsman.go on lines 141..144
p2p/p2pmock/mock_msgio.go on lines 46..49
p2p/p2pmock/mock_msgio.go on lines 74..77
p2p/p2pmock/mock_msgorder.go on lines 47..50
p2p/p2pmock/mock_msgorder.go on lines 61..64
p2p/p2pmock/mock_msgorder.go on lines 75..78
p2p/p2pmock/mock_msgorder.go on lines 89..92
p2p/p2pmock/mock_msgorder.go on lines 103..106
p2p/p2pmock/mock_networktransport.go on lines 55..58
p2p/p2pmock/mock_networktransport.go on lines 69..72
p2p/p2pmock/mock_networktransport.go on lines 83..86
p2p/p2pmock/mock_networktransport.go on lines 132..135
p2p/p2pmock/mock_networktransport.go on lines 146..149
p2p/p2pmock/mock_networktransport.go on lines 174..177
p2p/p2pmock/mock_networktransport.go on lines 202..205
p2p/p2pmock/mock_networktransport.go on lines 284..287
p2p/p2pmock/mock_networktransport.go on lines 298..301
p2p/p2pmock/mock_networktransport.go on lines 312..315
p2p/p2pmock/mock_networktransport.go on lines 346..349
p2p/p2pmock/mock_networktransport.go on lines 372..375
p2p/p2pmock/mock_networktransport.go on lines 410..413
p2p/p2pmock/mock_networktransport.go on lines 424..427
p2p/p2pmock/mock_peerfinder.go on lines 116..119
p2p/p2pmock/mock_peerfinder.go on lines 201..204
p2p/p2pmock/mock_peermanager.go on lines 59..62
p2p/p2pmock/mock_peermanager.go on lines 73..76
p2p/p2pmock/mock_peermanager.go on lines 87..90
p2p/p2pmock/mock_peermanager.go on lines 101..104
p2p/p2pmock/mock_peermanager.go on lines 178..181
p2p/p2pmock/mock_peermanager.go on lines 192..195
p2p/p2pmock/mock_peermanager.go on lines 206..209
p2p/p2pmock/mock_peermanager.go on lines 234..237
p2p/p2pmock/mock_peermanager.go on lines 272..275
p2p/p2pmock/mock_peerrole.go on lines 44..47
p2p/p2pmock/mock_peerrole.go on lines 56..59
p2p/p2pmock/mock_peerrole.go on lines 82..85
p2p/p2pmock/mock_protobuf.go on lines 47..50
p2p/p2pmock/mock_remotepeer.go on lines 84..87
p2p/p2pmock/mock_remotepeer.go on lines 98..101
p2p/p2pmock/mock_remotepeer.go on lines 112..115
p2p/p2pmock/mock_remotepeer.go on lines 126..129
p2p/p2pmock/mock_remotepeer.go on lines 140..143
p2p/p2pmock/mock_remotepeer.go on lines 154..157
p2p/p2pmock/mock_remotepeer.go on lines 168..171
p2p/p2pmock/mock_remotepeer.go on lines 206..209
p2p/p2pmock/mock_remotepeer.go on lines 220..223
p2p/p2pmock/mock_remotepeer.go on lines 232..235
p2p/p2pmock/mock_remotepeer.go on lines 244..247
p2p/p2pmock/mock_remotepeer.go on lines 377..380
p2p/p2pmock/mock_stream.go on lines 51..54
p2p/p2pmock/mock_stream.go on lines 65..68
p2p/p2pmock/mock_stream.go on lines 79..82
p2p/p2pmock/mock_stream.go on lines 93..96
p2p/p2pmock/mock_stream.go on lines 107..110
p2p/p2pmock/mock_stream.go on lines 121..124
p2p/p2pmock/mock_stream.go on lines 150..153
p2p/p2pmock/mock_stream.go on lines 218..221
p2p/p2pmock/mock_stream.go on lines 270..273
p2p/p2pmock/mock_stream.go on lines 284..287
p2p/p2pmock/mock_stream.go on lines 298..301
p2p/p2pmock/mock_stream.go on lines 312..315
p2p/p2pmock/mock_stream.go on lines 326..329
p2p/p2pmock/mock_stream.go on lines 340..343
p2p/p2pmock/mock_stream.go on lines 369..372
p2p/p2pmock/mock_stream.go on lines 383..386
p2p/p2pmock/mock_stream.go on lines 397..400
p2p/p2pmock/mock_stream.go on lines 411..414
p2p/p2pmock/mock_syncmanager.go on lines 131..134
p2p/p2pmock/mock_syncmanager.go on lines 143..146
p2p/p2pmock/mock_syncmanager.go on lines 157..160
p2p/p2pmock/mock_syncmanager.go on lines 209..212
p2p/p2pmock/mock_syncmanager.go on lines 223..226

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 102.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

There are no issues that match your filters.

Category
Status