forked from quic-go/quic-go
simplify the session constructor
This commit is contained in:
46
session.go
46
session.go
@@ -203,15 +203,6 @@ var newSession = func(
|
|||||||
}
|
}
|
||||||
s.preSetup()
|
s.preSetup()
|
||||||
s.sentPacketHandler = ackhandler.NewSentPacketHandler(0, s.rttStats, s.traceCallback, s.logger)
|
s.sentPacketHandler = ackhandler.NewSentPacketHandler(0, s.rttStats, s.traceCallback, s.logger)
|
||||||
s.streamsMap = newStreamsMap(
|
|
||||||
s,
|
|
||||||
s.newFlowController,
|
|
||||||
uint64(s.config.MaxIncomingStreams),
|
|
||||||
uint64(s.config.MaxIncomingUniStreams),
|
|
||||||
s.perspective,
|
|
||||||
s.version,
|
|
||||||
)
|
|
||||||
s.framer = newFramer(s.streamsMap, s.version)
|
|
||||||
initialStream := newCryptoStream()
|
initialStream := newCryptoStream()
|
||||||
handshakeStream := newCryptoStream()
|
handshakeStream := newCryptoStream()
|
||||||
oneRTTStream := newPostHandshakeCryptoStream(s.framer)
|
oneRTTStream := newPostHandshakeCryptoStream(s.framer)
|
||||||
@@ -247,10 +238,8 @@ var newSession = func(
|
|||||||
s.perspective,
|
s.perspective,
|
||||||
s.version,
|
s.version,
|
||||||
)
|
)
|
||||||
s.cryptoStreamManager = newCryptoStreamManager(cs, initialStream, handshakeStream, oneRTTStream)
|
|
||||||
|
|
||||||
s.postSetup()
|
|
||||||
s.unpacker = newPacketUnpacker(cs, s.version)
|
s.unpacker = newPacketUnpacker(cs, s.version)
|
||||||
|
s.cryptoStreamManager = newCryptoStreamManager(cs, initialStream, handshakeStream, oneRTTStream)
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,15 +295,6 @@ var newClientSession = func(
|
|||||||
s.cryptoStreamHandler = cs
|
s.cryptoStreamHandler = cs
|
||||||
s.cryptoStreamManager = newCryptoStreamManager(cs, initialStream, handshakeStream, oneRTTStream)
|
s.cryptoStreamManager = newCryptoStreamManager(cs, initialStream, handshakeStream, oneRTTStream)
|
||||||
s.unpacker = newPacketUnpacker(cs, s.version)
|
s.unpacker = newPacketUnpacker(cs, s.version)
|
||||||
s.streamsMap = newStreamsMap(
|
|
||||||
s,
|
|
||||||
s.newFlowController,
|
|
||||||
uint64(s.config.MaxIncomingStreams),
|
|
||||||
uint64(s.config.MaxIncomingUniStreams),
|
|
||||||
s.perspective,
|
|
||||||
s.version,
|
|
||||||
)
|
|
||||||
s.framer = newFramer(s.streamsMap, s.version)
|
|
||||||
s.packer = newPacketPacker(
|
s.packer = newPacketPacker(
|
||||||
s.destConnID,
|
s.destConnID,
|
||||||
s.srcConnID,
|
s.srcConnID,
|
||||||
@@ -339,7 +319,6 @@ var newClientSession = func(
|
|||||||
s.packer.SetToken(token.data)
|
s.packer.SetToken(token.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
s.postSetup()
|
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -357,14 +336,15 @@ func (s *session) preSetup() {
|
|||||||
s.logger,
|
s.logger,
|
||||||
)
|
)
|
||||||
s.earlySessionReadyChan = make(chan struct{})
|
s.earlySessionReadyChan = make(chan struct{})
|
||||||
if s.config.QuicTracer != nil {
|
s.streamsMap = newStreamsMap(
|
||||||
s.traceCallback = func(ev quictrace.Event) {
|
s,
|
||||||
s.config.QuicTracer.Trace(s.origDestConnID, ev)
|
s.newFlowController,
|
||||||
}
|
uint64(s.config.MaxIncomingStreams),
|
||||||
}
|
uint64(s.config.MaxIncomingUniStreams),
|
||||||
}
|
s.perspective,
|
||||||
|
s.version,
|
||||||
func (s *session) postSetup() {
|
)
|
||||||
|
s.framer = newFramer(s.streamsMap, s.version)
|
||||||
s.receivedPackets = make(chan *receivedPacket, protocol.MaxSessionUnprocessedPackets)
|
s.receivedPackets = make(chan *receivedPacket, protocol.MaxSessionUnprocessedPackets)
|
||||||
s.closeChan = make(chan closeError, 1)
|
s.closeChan = make(chan closeError, 1)
|
||||||
s.sendingScheduled = make(chan struct{}, 1)
|
s.sendingScheduled = make(chan struct{}, 1)
|
||||||
@@ -378,6 +358,12 @@ func (s *session) postSetup() {
|
|||||||
s.sessionCreationTime = now
|
s.sessionCreationTime = now
|
||||||
|
|
||||||
s.windowUpdateQueue = newWindowUpdateQueue(s.streamsMap, s.connFlowController, s.framer.QueueControlFrame)
|
s.windowUpdateQueue = newWindowUpdateQueue(s.streamsMap, s.connFlowController, s.framer.QueueControlFrame)
|
||||||
|
|
||||||
|
if s.config.QuicTracer != nil {
|
||||||
|
s.traceCallback = func(ev quictrace.Event) {
|
||||||
|
s.config.QuicTracer.Trace(s.origDestConnID, ev)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// run the session main loop
|
// run the session main loop
|
||||||
|
|||||||
Reference in New Issue
Block a user