You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
607 B
27 lines
607 B
package mtproto |
|
|
|
import ( |
|
"github.com/go-faster/errors" |
|
|
|
"github.com/gotd/td/internal/proto" |
|
|
|
"github.com/gotd/td/bin" |
|
) |
|
|
|
func (c *Conn) handleContainer(msgID int64, b *bin.Buffer) error { |
|
var container proto.MessageContainer |
|
if err := container.Decode(b); err != nil { |
|
return errors.Wrap(err, "container") |
|
} |
|
for _, msg := range container.Messages { |
|
if err := c.processContainerMessage(msgID, msg); err != nil { |
|
return err |
|
} |
|
} |
|
return nil |
|
} |
|
|
|
func (c *Conn) processContainerMessage(msgID int64, msg proto.Message) error { |
|
b := &bin.Buffer{Buf: msg.Body} |
|
return c.handleMessage(msgID, b) |
|
}
|
|
|