Source File
ack.go
Belonging Package
github.com/gotd/td/internal/mtproto
package mtproto
import (
)
func ( *Conn) ( context.Context) error {
:= .log.Named("ack")
var []int64
:= func() {
defer func() { = [:0] }()
if := .writeServiceMessage(, &mt.MsgsAck{MsgIDs: }); != nil {
.log.Error("Failed to ACK", zap.Error())
return
}
.Debug("Ack", zap.Int64s("msg_ids", ))
}
:= .clock.Ticker(.ackInterval)
defer .Stop()
for {
select {
case <-.Done():
return errors.Wrap(.Err(), "acl")
case <-.C():
if len() > 0 {
()
}
case := <-.ackSendChan:
= append(, )
if len() >= .ackBatchSize {
()
.Reset(.ackInterval)
}
}
}
}
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |