This commit is contained in:
Vladislav Yarmak 2021-04-02 00:46:17 +03:00
parent ed153de1d0
commit ddc27f34ab
3 changed files with 25 additions and 25 deletions

View file

@ -208,7 +208,7 @@ func run() int {
}
cl()
runTicker(context.Background(), args.refresh, func (ctx context.Context) {
runTicker(context.Background(), args.refresh, func(ctx context.Context) {
mainLogger.Info("Refreshing login...")
loginCtx, cl := context.WithTimeout(ctx, args.timeout)
defer cl()

View file

@ -126,7 +126,7 @@ func (c *SEClient) AnonRegister(ctx context.Context) error {
func (c *SEClient) Register(ctx context.Context) error {
var regRes SERegisterSubscriberResponse
err := c.RpcCall(ctx, c.Settings.Endpoints.RegisterSubscriber, StrKV{
"email": c.SubscriberEmail,
"email": c.SubscriberEmail,
"password": c.SubscriberPassword,
}, &regRes)
if err != nil {

View file

@ -13,7 +13,7 @@ import (
)
const (
COPY_BUF = 128 * 1024
COPY_BUF = 128 * 1024
WALLCLOCK_PRECISION = 1 * time.Second
)
@ -148,30 +148,30 @@ func copyBody(wr io.Writer, body io.Reader) {
}
func AfterWallClock(d time.Duration) <-chan time.Time {
ch := make(chan time.Time, 1)
deadline := time.Now().Add(d).Truncate(0)
after_ch := time.After(d)
ticker := time.NewTicker(WALLCLOCK_PRECISION)
go func() {
var t time.Time
defer ticker.Stop()
for {
select {
case t = <-after_ch:
ch <-t
return
case t = <-ticker.C:
if t.After(deadline) {
ch <-t
return
}
}
}
}()
return ch
ch := make(chan time.Time, 1)
deadline := time.Now().Add(d).Truncate(0)
after_ch := time.After(d)
ticker := time.NewTicker(WALLCLOCK_PRECISION)
go func() {
var t time.Time
defer ticker.Stop()
for {
select {
case t = <-after_ch:
ch <- t
return
case t = <-ticker.C:
if t.After(deadline) {
ch <- t
return
}
}
}
}()
return ch
}
func runTicker(ctx context.Context, interval time.Duration, cb func (context.Context)) {
func runTicker(ctx context.Context, interval time.Duration, cb func(context.Context)) {
go func() {
for {
select {