@@ -35,7 +35,21 @@ import (
3535
3636type V2WScanCallback interface {
3737 OnServerSuccess (configUrl string , delay int64 )
38- OnScanComplete (totalSuccess int , totalFailed int )
38+ OnScanComplete (totalSuccess int64 , totalFailed int64 )
39+ }
40+
41+ type V2WScanner struct {}
42+
43+ func NewV2WScanner () * V2WScanner {
44+ return & V2WScanner {}
45+ }
46+
47+ func (s * V2WScanner ) Run (configs string , maxConcurrency int64 , callback V2WScanCallback ) {
48+ RunV2WScanner (configs , maxConcurrency , callback )
49+ }
50+
51+ func (s * V2WScanner ) Stop () {
52+ StopV2WScanner ()
3953}
4054
4155type customDialer struct {
@@ -63,7 +77,7 @@ func StopV2WScanner() {
6377 }
6478}
6579
66- func RunV2WScanner (configs string , maxConcurrency int , callback V2WScanCallback ) {
80+ func RunV2WScanner (configs string , maxConcurrency int64 , callback V2WScanCallback ) {
6781 if maxConcurrency <= 0 {
6882 maxConcurrency = 20
6983 }
@@ -170,7 +184,7 @@ func RunV2WScanner(configs string, maxConcurrency int, callback V2WScanCallback)
170184 go func () {
171185 wg .Wait ()
172186 if callback != nil {
173- callback .OnScanComplete (int ( atomic .LoadInt32 (& successCount )), int ( atomic .LoadInt32 (& failCount ) ))
187+ callback .OnScanComplete (atomic .LoadInt32 (& successCount ), atomic .LoadInt32 (& failCount ))
174188 }
175189 }()
176190}
0 commit comments