mirror of
https://github.com/refraction-networking/uquic.git
synced 2025-04-04 20:57:36 +03:00
trace dropped packets in the packet handler map
This commit is contained in:
parent
2f63bc0731
commit
48e15aed92
2 changed files with 14 additions and 3 deletions
|
@ -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() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue