mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 20:34:02 +03:00
Propagate DcUpdateEach setting
This commit is contained in:
@@ -99,6 +99,10 @@ const (
|
||||
// reads from Telegram after which connection will be terminated. This is
|
||||
// required to abort stale connections.
|
||||
TCPRelayReadTimeout = 20 * time.Second
|
||||
|
||||
// DefaultDCUpdateEach defines a time period that is used to fetch
|
||||
// a relevant list of DCs to use from Telegram using its own MTPROTO API.
|
||||
DefaultDCUpdateEach = time.Hour
|
||||
)
|
||||
|
||||
// Network defines a knowledge how to work with a network. It may sound fun but
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package dc
|
||||
|
||||
import "time"
|
||||
|
||||
type preferIP uint8
|
||||
|
||||
const (
|
||||
@@ -12,8 +10,7 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultDC = 2
|
||||
DefaultUpdateDCAddressesEach = time.Hour
|
||||
DefaultDC = 2
|
||||
|
||||
defaultAppID = 123456
|
||||
defaultAppHash = ""
|
||||
|
||||
@@ -37,10 +37,6 @@ func (t *Telegram) GetAddresses(dc int) []Addr {
|
||||
}
|
||||
|
||||
func (t *Telegram) Run(ctx context.Context, updateEach time.Duration) {
|
||||
if updateEach == 0 {
|
||||
updateEach = DefaultUpdateDCAddressesEach
|
||||
}
|
||||
|
||||
t.update(ctx)
|
||||
|
||||
ticker := time.NewTicker(updateEach)
|
||||
|
||||
+6
-1
@@ -324,7 +324,12 @@ func NewProxy(opts ProxyOpts) (*Proxy, error) {
|
||||
telegram: tg,
|
||||
}
|
||||
|
||||
go tg.Run(ctx, 0) // TODO: propagate value
|
||||
dcUpdateEach := opts.DCUpdateEach
|
||||
if dcUpdateEach == 0 {
|
||||
dcUpdateEach = DefaultDCUpdateEach
|
||||
}
|
||||
|
||||
go tg.Run(ctx, dcUpdateEach)
|
||||
|
||||
pool, err := ants.NewPoolWithFunc(opts.getConcurrency(),
|
||||
func(arg interface{}) {
|
||||
|
||||
@@ -119,6 +119,10 @@ type ProxyOpts struct {
|
||||
//
|
||||
// This is an optional setting
|
||||
DCOverrides map[int][]string
|
||||
|
||||
// DCUpdateEach defines a time duration that is used to fetch a list of
|
||||
// DCs to use from the Telegram.
|
||||
DCUpdateEach time.Duration
|
||||
}
|
||||
|
||||
func (p ProxyOpts) valid() error {
|
||||
|
||||
Reference in New Issue
Block a user