Procházet zdrojové kódy

Set worker pool to non-blocking mode

tags/v2.0.0-rc1
9seconds před 5 roky
rodič
revize
71d4c6c42f
1 změnil soubory, kde provedl 4 přidání a 2 odebrání
  1. 4
    2
      mtglib/proxy.go

+ 4
- 2
mtglib/proxy.go Zobrazit soubor

328
 		ipBlocklist:        opts.IPBlocklist,
328
 		ipBlocklist:        opts.IPBlocklist,
329
 		eventStream:        opts.EventStream,
329
 		eventStream:        opts.EventStream,
330
 		logger:             opts.Logger.Named("proxy"),
330
 		logger:             opts.Logger.Named("proxy"),
331
-		domainFrontingPort: int(domainFrontingPort),
331
+		domainFrontingPort: domainFrontingPort,
332
 		idleTimeout:        idleTimeout,
332
 		idleTimeout:        idleTimeout,
333
 		bufferSize:         int(bufferSize),
333
 		bufferSize:         int(bufferSize),
334
 		telegram:           tg,
334
 		telegram:           tg,
336
 
336
 
337
 	pool, err := ants.NewPoolWithFunc(int(concurrency), func(arg interface{}) {
337
 	pool, err := ants.NewPoolWithFunc(int(concurrency), func(arg interface{}) {
338
 		proxy.ServeConn(arg.(net.Conn))
338
 		proxy.ServeConn(arg.(net.Conn))
339
-	}, ants.WithLogger(opts.Logger.Named("ants")))
339
+	},
340
+		ants.WithLogger(opts.Logger.Named("ants")),
341
+		ants.WithNonblocking(true))
340
 	if err != nil {
342
 	if err != nil {
341
 		return nil, fmt.Errorf("cannot initialize a pool: %w", err)
343
 		return nil, fmt.Errorf("cannot initialize a pool: %w", err)
342
 	}
344
 	}

Načítá se…
Zrušit
Uložit