package wire
import (
"github.com/quic-go/quic-go/internal/protocol"
"github.com/quic-go/quic-go/quicvarint"
)
type MaxStreamDataFrame struct {
StreamID protocol .StreamID
MaximumStreamData protocol .ByteCount
}
func parseMaxStreamDataFrame(b []byte , _ protocol .Version ) (*MaxStreamDataFrame , int , error ) {
startLen := len (b )
sid , l , err := quicvarint .Parse (b )
if err != nil {
return nil , 0 , replaceUnexpectedEOF (err )
}
b = b [l :]
offset , l , err := quicvarint .Parse (b )
if err != nil {
return nil , 0 , replaceUnexpectedEOF (err )
}
b = b [l :]
return &MaxStreamDataFrame {
StreamID : protocol .StreamID (sid ),
MaximumStreamData : protocol .ByteCount (offset ),
}, startLen - len (b ), nil
}
func (f *MaxStreamDataFrame ) Append (b []byte , _ protocol .Version ) ([]byte , error ) {
b = append (b , byte (FrameTypeMaxStreamData ))
b = quicvarint .Append (b , uint64 (f .StreamID ))
b = quicvarint .Append (b , uint64 (f .MaximumStreamData ))
return b , nil
}
func (f *MaxStreamDataFrame ) Length (protocol .Version ) protocol .ByteCount {
return 1 + protocol .ByteCount (quicvarint .Len (uint64 (f .StreamID ))+quicvarint .Len (uint64 (f .MaximumStreamData )))
}
The pages are generated with Golds v0.8.2 . (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 @zigo_101 (reachable from the left QR code) to get the latest news of Golds .