Просмотр исходного кода

Set worker pool to non-blocking mode

tags/v2.0.0-rc1
9seconds 5 лет назад
Родитель
Сommit
71d4c6c42f
1 измененных файлов: 4 добавлений и 2 удалений
  1. 4
    2
      mtglib/proxy.go

+ 4
- 2
mtglib/proxy.go Просмотреть файл

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
 	}

Загрузка…
Отмена
Сохранить