TUN-6667: DatagramMuxerV2 provides a method to receive RawPacket

This commit is contained in:
cthuang
2022-08-17 18:23:04 +01:00
parent bad2e8e812
commit d2bc15e224
3 changed files with 111 additions and 43 deletions

View File

@@ -47,7 +47,7 @@ type QUICConnection struct {
// sessionManager tracks active sessions. It receives datagrams from quic connection via datagramMuxer
sessionManager datagramsession.Manager
// datagramMuxer mux/demux datagrams from quic connection
datagramMuxer *quicpogs.DatagramMuxer
datagramMuxer quicpogs.BaseDatagramMuxer
controlStreamHandler ControlStreamHandler
connOptions *tunnelpogs.ConnectionOptions
}
@@ -67,9 +67,9 @@ func NewQUICConnection(
return nil, &EdgeQuicDialError{Cause: err}
}
demuxChan := make(chan *packet.Session, demuxChanCapacity)
datagramMuxer := quicpogs.NewDatagramMuxer(session, logger, demuxChan)
sessionManager := datagramsession.NewManager(logger, datagramMuxer.SendToSession, demuxChan)
sessionDemuxChan := make(chan *packet.Session, demuxChanCapacity)
datagramMuxer := quicpogs.NewDatagramMuxer(session, logger, sessionDemuxChan)
sessionManager := datagramsession.NewManager(logger, datagramMuxer.SendToSession, sessionDemuxChan)
return &QUICConnection{
session: session,