Files
quic-go/ack_frame.go
2016-04-15 12:34:23 +07:00

27 lines
600 B
Go

package quic
import (
"bytes"
"github.com/lucas-clemente/quic-go/utils"
)
// An AckFrame in QUIC
type AckFrame struct {
Entropy byte
LargestObserved uint32 // TODO: change to uint64
}
// WriteAckFrame writes an ack frame.
func (f *AckFrame) Write(b *bytes.Buffer) error {
typeByte := uint8(0x48)
b.WriteByte(typeByte)
b.WriteByte(f.Entropy)
utils.WriteUint32(b, f.LargestObserved)
utils.WriteUint16(b, 1) // TODO: Ack delay time
b.WriteByte(0x01) // Just one timestamp
b.WriteByte(0x00) // Largest observed
utils.WriteUint32(b, 0) // First timestamp
return nil
}