rename MaxReceivePacketSize to MaxPacketBufferSize

We use the same buffer size for sending and receiving packets.
This commit is contained in:
Marten Seemann 2021-01-25 16:46:35 +08:00
parent fb5a45ac53
commit 82ac6dcf6d
14 changed files with 26 additions and 26 deletions

View file

@ -56,7 +56,7 @@ func (b *packetBuffer) Len() protocol.ByteCount {
}
func (b *packetBuffer) putBack() {
if cap(b.Data) != int(protocol.MaxReceivePacketSize) {
if cap(b.Data) != int(protocol.MaxPacketBufferSize) {
panic("putPacketBuffer called with packet of wrong size!")
}
bufferPool.Put(b)
@ -74,7 +74,7 @@ func getPacketBuffer() *packetBuffer {
func init() {
bufferPool.New = func() interface{} {
return &packetBuffer{
Data: make([]byte, 0, protocol.MaxReceivePacketSize),
Data: make([]byte, 0, protocol.MaxPacketBufferSize),
}
}
}

View file

@ -10,7 +10,7 @@ import (
var _ = Describe("Buffer Pool", func() {
It("returns buffers of cap", func() {
buf := getPacketBuffer()
Expect(buf.Data).To(HaveCap(int(protocol.MaxReceivePacketSize)))
Expect(buf.Data).To(HaveCap(int(protocol.MaxPacketBufferSize)))
})
It("releases buffers", func() {

View file

@ -44,9 +44,9 @@ var _ connection = &basicConn{}
func (c *basicConn) ReadPacket() (*receivedPacket, error) {
buffer := getPacketBuffer()
// The packet size should not exceed protocol.MaxReceivePacketSize bytes
// The packet size should not exceed protocol.MaxPacketBufferSize bytes
// If it does, we only read a truncated packet, which will then end up undecryptable
buffer.Data = buffer.Data[:protocol.MaxReceivePacketSize]
buffer.Data = buffer.Data[:protocol.MaxPacketBufferSize]
n, addr, err := c.PacketConn.ReadFrom(buffer.Data)
if err != nil {
return nil, err

View file

@ -82,9 +82,9 @@ func newConn(c ECNCapablePacketConn) (*ecnConn, error) {
func (c *ecnConn) ReadPacket() (*receivedPacket, error) {
buffer := getPacketBuffer()
// The packet size should not exceed protocol.MaxReceivePacketSize bytes
// The packet size should not exceed protocol.MaxPacketBufferSize bytes
// If it does, we only read a truncated packet, which will then end up undecryptable
buffer.Data = buffer.Data[:protocol.MaxReceivePacketSize]
buffer.Data = buffer.Data[:protocol.MaxPacketBufferSize]
c.oobBuffer = c.oobBuffer[:cap(c.oobBuffer)]
n, oobn, _, addr, err := c.ECNCapablePacketConn.ReadMsgUDP(buffer.Data, c.oobBuffer)
if err != nil {

View file

@ -18,7 +18,7 @@ var _ = Describe("Basic Conn Test", func() {
addr := &net.UDPAddr{IP: net.IPv4(1, 2, 3, 4), Port: 1234}
c.EXPECT().ReadFrom(gomock.Any()).DoAndReturn(func(b []byte) (int, net.Addr, error) {
data := []byte("foobar")
Expect(b).To(HaveLen(int(protocol.MaxReceivePacketSize)))
Expect(b).To(HaveLen(int(protocol.MaxPacketBufferSize)))
return copy(b, data), addr, nil
})

View file

@ -241,7 +241,7 @@ func (p *QuicProxy) newConnection(cliAddr *net.UDPAddr) (*connection, error) {
// runProxy listens on the proxy address and handles incoming packets.
func (p *QuicProxy) runProxy() error {
for {
buffer := make([]byte, protocol.MaxReceivePacketSize)
buffer := make([]byte, protocol.MaxPacketBufferSize)
n, cliaddr, err := p.conn.ReadFromUDP(buffer)
if err != nil {
return err
@ -294,7 +294,7 @@ func (p *QuicProxy) runOutgoingConnection(conn *connection) error {
outgoingPackets := make(chan packetEntry, 10)
go func() {
for {
buffer := make([]byte, protocol.MaxReceivePacketSize)
buffer := make([]byte, protocol.MaxPacketBufferSize)
n, err := conn.ServerConn.Read(buffer)
if err != nil {
return

View file

@ -169,7 +169,7 @@ var _ = Describe("QUIC Proxy", func() {
defer GinkgoRecover()
defer close(stoppedReading)
for {
buf := make([]byte, protocol.MaxReceivePacketSize)
buf := make([]byte, protocol.MaxPacketBufferSize)
// the ReadFromUDP will error as soon as the UDP conn is closed
n, addr, err2 := serverConn.ReadFromUDP(buf)
if err2 != nil {
@ -221,7 +221,7 @@ var _ = Describe("QUIC Proxy", func() {
// receive the packets echoed by the server on client side
go func() {
for {
buf := make([]byte, protocol.MaxReceivePacketSize)
buf := make([]byte, protocol.MaxPacketBufferSize)
// the ReadFromUDP will error as soon as the UDP conn is closed
n, _, err2 := clientConn.ReadFromUDP(buf)
if err2 != nil {
@ -280,7 +280,7 @@ var _ = Describe("QUIC Proxy", func() {
// receive the packets echoed by the server on client side
go func() {
for {
buf := make([]byte, protocol.MaxReceivePacketSize)
buf := make([]byte, protocol.MaxPacketBufferSize)
// the ReadFromUDP will error as soon as the UDP conn is closed
n, _, err2 := clientConn.ReadFromUDP(buf)
if err2 != nil {
@ -424,7 +424,7 @@ var _ = Describe("QUIC Proxy", func() {
// receive the packets echoed by the server on client side
go func() {
for {
buf := make([]byte, protocol.MaxReceivePacketSize)
buf := make([]byte, protocol.MaxPacketBufferSize)
// the ReadFromUDP will error as soon as the UDP conn is closed
n, _, err2 := clientConn.ReadFromUDP(buf)
if err2 != nil {

View file

@ -58,11 +58,11 @@ type ApplicationErrorCode uint64
// A StatelessResetToken is a stateless reset token.
type StatelessResetToken [16]byte
// MaxReceivePacketSize maximum packet size of any QUIC packet, based on
// MaxPacketBufferSize maximum packet size of any QUIC packet, based on
// ethernet's max size, minus the IP and UDP headers. IPv6 has a 40 byte header,
// UDP adds an additional 8 bytes. This is a total overhead of 48 bytes.
// Ethernet's max packet size is 1500 bytes, 1500 - 48 = 1452.
const MaxReceivePacketSize ByteCount = 1452
const MaxPacketBufferSize ByteCount = 1452
// MinInitialPacketSize is the minimum size an Initial packet is required to have.
const MinInitialPacketSize = 1200

View file

@ -11,7 +11,7 @@ var pool sync.Pool
func init() {
pool.New = func() interface{} {
return &StreamFrame{
Data: make([]byte, 0, protocol.MaxReceivePacketSize),
Data: make([]byte, 0, protocol.MaxPacketBufferSize),
fromPool: true,
}
}
@ -26,7 +26,7 @@ func putStreamFrame(f *StreamFrame) {
if !f.fromPool {
return
}
if protocol.ByteCount(cap(f.Data)) != protocol.MaxReceivePacketSize {
if protocol.ByteCount(cap(f.Data)) != protocol.MaxPacketBufferSize {
panic("wire.PutStreamFrame called with packet of wrong size!")
}
pool.Put(f)

View file

@ -82,9 +82,9 @@ var _ = Describe("STREAM frame", func() {
It("rejects frames that claim to be longer than the packet size", func() {
data := []byte{0x8 ^ 0x2}
data = append(data, encodeVarInt(0x12345)...) // stream ID
data = append(data, encodeVarInt(uint64(protocol.MaxReceivePacketSize)+1)...) // data length
data = append(data, make([]byte, protocol.MaxReceivePacketSize+1)...)
data = append(data, encodeVarInt(0x12345)...) // stream ID
data = append(data, encodeVarInt(uint64(protocol.MaxPacketBufferSize)+1)...) // data length
data = append(data, make([]byte, protocol.MaxPacketBufferSize+1)...)
r := bytes.NewReader(data)
_, err := parseStreamFrame(r, versionIETFFrames)
Expect(err).To(Equal(io.EOF))

View file

@ -335,7 +335,7 @@ func (p *TransportParameters) Marshal(pers protocol.Perspective) []byte {
// idle_timeout
p.marshalVarintParam(b, maxIdleTimeoutParameterID, uint64(p.MaxIdleTimeout/time.Millisecond))
// max_packet_size
p.marshalVarintParam(b, maxUDPPayloadSizeParameterID, uint64(protocol.MaxReceivePacketSize))
p.marshalVarintParam(b, maxUDPPayloadSizeParameterID, uint64(protocol.MaxPacketBufferSize))
// max_ack_delay
// Only send it if is different from the default value.
if p.MaxAckDelay != protocol.DefaultMaxAckDelay {

View file

@ -191,7 +191,7 @@ func (s *sendStream) canBufferStreamFrame() bool {
if s.nextFrame != nil {
l = s.nextFrame.DataLen()
}
return l+protocol.ByteCount(len(s.dataForWriting)) <= protocol.MaxReceivePacketSize
return l+protocol.ByteCount(len(s.dataForWriting)) <= protocol.MaxPacketBufferSize
}
// popStreamFrame returns the next STREAM frame that is supposed to be sent on this stream

View file

@ -180,7 +180,7 @@ var _ = Describe("Send Stream", func() {
defer GinkgoRecover()
defer close(done)
mockSender.EXPECT().onHasStreamData(streamID)
_, err := strWithTimeout.Write(getData(protocol.MaxReceivePacketSize + 3))
_, err := strWithTimeout.Write(getData(protocol.MaxPacketBufferSize + 3))
Expect(err).ToNot(HaveOccurred())
}()
waitForWrite()
@ -208,7 +208,7 @@ var _ = Describe("Send Stream", func() {
defer GinkgoRecover()
defer close(done)
mockSender.EXPECT().onHasStreamData(streamID)
_, err := str.Write(getData(protocol.MaxReceivePacketSize))
_, err := str.Write(getData(protocol.MaxPacketBufferSize))
Expect(err).ToNot(HaveOccurred())
}()
waitForWrite()

View file

@ -2052,7 +2052,7 @@ var _ = Describe("Session", func() {
InitialMaxData: 0x5000,
ActiveConnectionIDLimit: 3,
// marshaling always sets it to this value
MaxUDPPayloadSize: protocol.MaxReceivePacketSize,
MaxUDPPayloadSize: protocol.MaxPacketBufferSize,
InitialSourceConnectionID: destConnID,
}
streamManager.EXPECT().UpdateLimits(params)