forked from quic-go/quic-go
remove stream.CloseRemote from public API
This commit is contained in:
@@ -11,7 +11,7 @@ import (
|
|||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/lucas-clemente/quic-go"
|
quic "github.com/lucas-clemente/quic-go"
|
||||||
"github.com/lucas-clemente/quic-go/protocol"
|
"github.com/lucas-clemente/quic-go/protocol"
|
||||||
"github.com/lucas-clemente/quic-go/qerr"
|
"github.com/lucas-clemente/quic-go/qerr"
|
||||||
"github.com/lucas-clemente/quic-go/utils"
|
"github.com/lucas-clemente/quic-go/utils"
|
||||||
@@ -24,6 +24,10 @@ type streamCreator interface {
|
|||||||
GetOrOpenStream(protocol.StreamID) (quic.Stream, error)
|
GetOrOpenStream(protocol.StreamID) (quic.Stream, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type remoteCloser interface {
|
||||||
|
CloseRemote(protocol.ByteCount)
|
||||||
|
}
|
||||||
|
|
||||||
// Server is a HTTP2 server listening for QUIC connections.
|
// Server is a HTTP2 server listening for QUIC connections.
|
||||||
type Server struct {
|
type Server struct {
|
||||||
*http.Server
|
*http.Server
|
||||||
@@ -173,7 +177,7 @@ func (s *Server) handleRequest(session streamCreator, headerStream quic.Stream,
|
|||||||
|
|
||||||
var streamEnded bool
|
var streamEnded bool
|
||||||
if h2headersFrame.StreamEnded() {
|
if h2headersFrame.StreamEnded() {
|
||||||
dataStream.CloseRemote(0)
|
dataStream.(remoteCloser).CloseRemote(0)
|
||||||
streamEnded = true
|
streamEnded = true
|
||||||
_, _ = dataStream.Read([]byte{0}) // read the eof
|
_, _ = dataStream.Read([]byte{0}) // read the eof
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ type Stream interface {
|
|||||||
io.Writer
|
io.Writer
|
||||||
io.Closer
|
io.Closer
|
||||||
StreamID() protocol.StreamID
|
StreamID() protocol.StreamID
|
||||||
CloseRemote(offset protocol.ByteCount)
|
|
||||||
Reset(error)
|
Reset(error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1274,7 +1274,7 @@ var _ = Describe("Session", func() {
|
|||||||
err = s.Close()
|
err = s.Close()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
s.(*stream).sentFin()
|
s.(*stream).sentFin()
|
||||||
s.CloseRemote(0)
|
s.(*stream).CloseRemote(0)
|
||||||
_, err = s.Read([]byte("a"))
|
_, err = s.Read([]byte("a"))
|
||||||
Expect(err).To(MatchError(io.EOF))
|
Expect(err).To(MatchError(io.EOF))
|
||||||
sess.garbageCollectStreams()
|
sess.garbageCollectStreams()
|
||||||
|
|||||||
Reference in New Issue
Block a user