forked from quic-go/quic-go
trace dropped packets in the packet handler map
This commit is contained in:
@@ -274,6 +274,9 @@ func (h *packetHandlerMap) handlePacket(
|
|||||||
connID, err := wire.ParseConnectionID(data, h.connIDLen)
|
connID, err := wire.ParseConnectionID(data, h.connIDLen)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.logger.Debugf("error parsing connection ID on packet from %s: %s", addr, err)
|
h.logger.Debugf("error parsing connection ID on packet from %s: %s", addr, err)
|
||||||
|
if h.tracer != nil {
|
||||||
|
h.tracer.DroppedPacket(addr, logging.PacketTypeNotDetermined, protocol.ByteCount(len(data)), logging.PacketDropHeaderParseError)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
rcvTime := time.Now()
|
rcvTime := time.Now()
|
||||||
|
|||||||
@@ -7,10 +7,14 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/golang/mock/gomock"
|
"github.com/lucas-clemente/quic-go/internal/mocks"
|
||||||
"github.com/lucas-clemente/quic-go/internal/protocol"
|
"github.com/lucas-clemente/quic-go/internal/protocol"
|
||||||
"github.com/lucas-clemente/quic-go/internal/utils"
|
"github.com/lucas-clemente/quic-go/internal/utils"
|
||||||
"github.com/lucas-clemente/quic-go/internal/wire"
|
"github.com/lucas-clemente/quic-go/internal/wire"
|
||||||
|
"github.com/lucas-clemente/quic-go/logging"
|
||||||
|
|
||||||
|
"github.com/golang/mock/gomock"
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
)
|
)
|
||||||
@@ -19,6 +23,7 @@ var _ = Describe("Packet Handler Map", func() {
|
|||||||
var (
|
var (
|
||||||
handler *packetHandlerMap
|
handler *packetHandlerMap
|
||||||
conn *mockPacketConn
|
conn *mockPacketConn
|
||||||
|
tracer *mocks.MockTracer
|
||||||
|
|
||||||
connIDLen int
|
connIDLen int
|
||||||
statelessResetKey []byte
|
statelessResetKey []byte
|
||||||
@@ -46,11 +51,12 @@ var _ = Describe("Packet Handler Map", func() {
|
|||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
statelessResetKey = nil
|
statelessResetKey = nil
|
||||||
connIDLen = 0
|
connIDLen = 0
|
||||||
|
tracer = mocks.NewMockTracer(mockCtrl)
|
||||||
})
|
})
|
||||||
|
|
||||||
JustBeforeEach(func() {
|
JustBeforeEach(func() {
|
||||||
conn = newMockPacketConn()
|
conn = newMockPacketConn()
|
||||||
handler = newPacketHandlerMap(conn, connIDLen, statelessResetKey, nil, utils.DefaultLogger).(*packetHandlerMap)
|
handler = newPacketHandlerMap(conn, connIDLen, statelessResetKey, tracer, utils.DefaultLogger).(*packetHandlerMap)
|
||||||
})
|
})
|
||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
@@ -122,7 +128,9 @@ var _ = Describe("Packet Handler Map", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("drops unparseable packets", func() {
|
It("drops unparseable packets", func() {
|
||||||
handler.handlePacket(nil, nil, []byte{0, 1, 2, 3})
|
addr := &net.UDPAddr{IP: net.IPv4(9, 8, 7, 6), Port: 1234}
|
||||||
|
tracer.EXPECT().DroppedPacket(addr, logging.PacketTypeNotDetermined, protocol.ByteCount(4), logging.PacketDropHeaderParseError)
|
||||||
|
handler.handlePacket(addr, nil, []byte{0, 1, 2, 3})
|
||||||
})
|
})
|
||||||
|
|
||||||
It("deletes removed sessions immediately", func() {
|
It("deletes removed sessions immediately", func() {
|
||||||
|
|||||||
Reference in New Issue
Block a user