move utils.Stream to quic.Stream

This commit is contained in:
Marten Seemann
2017-02-20 18:05:49 +07:00
parent 592ef45fdf
commit cd465ae0b5
17 changed files with 73 additions and 80 deletions

View File

@@ -21,7 +21,7 @@ import (
)
type quicClient interface {
OpenStream() (utils.Stream, error)
OpenStream() (quic.Stream, error)
Close(error) error
Listen() error
}
@@ -37,7 +37,7 @@ type Client struct {
encryptionLevel protocol.EncryptionLevel
client quicClient
headerStream utils.Stream
headerStream quic.Stream
headerErr *qerr.QuicError
requestWriter *requestWriter
@@ -241,7 +241,7 @@ func (c *Client) Do(req *http.Request) (*http.Response, error) {
return res, nil
}
func (c *Client) writeRequestBody(dataStream utils.Stream, body io.ReadCloser) (err error) {
func (c *Client) writeRequestBody(dataStream quic.Stream, body io.ReadCloser) (err error) {
defer func() {
cerr := body.Close()
if err == nil {

View File

@@ -9,9 +9,9 @@ import (
"golang.org/x/net/http2"
"golang.org/x/net/http2/hpack"
quic "github.com/lucas-clemente/quic-go"
"github.com/lucas-clemente/quic-go/protocol"
"github.com/lucas-clemente/quic-go/qerr"
"github.com/lucas-clemente/quic-go/utils"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
@@ -25,7 +25,7 @@ type mockQuicClient struct {
func (m *mockQuicClient) Close(e error) error { m.closeErr = e; return nil }
func (m *mockQuicClient) Listen() error { panic("not implemented") }
func (m *mockQuicClient) OpenStream() (utils.Stream, error) {
func (m *mockQuicClient) OpenStream() (quic.Stream, error) {
id := m.nextStream
ms := &mockStream{id: id}
m.streams[id] = ms

View File

@@ -3,18 +3,18 @@ package h2quic
import (
"io"
"github.com/lucas-clemente/quic-go/utils"
quic "github.com/lucas-clemente/quic-go"
)
type requestBody struct {
requestRead bool
dataStream utils.Stream
dataStream quic.Stream
}
// make sure the requestBody can be used as a http.Request.Body
var _ io.ReadCloser = &requestBody{}
func newRequestBody(stream utils.Stream) *requestBody {
func newRequestBody(stream quic.Stream) *requestBody {
return &requestBody{dataStream: stream}
}

View File

@@ -12,13 +12,14 @@ import (
"golang.org/x/net/http2/hpack"
"golang.org/x/net/lex/httplex"
quic "github.com/lucas-clemente/quic-go"
"github.com/lucas-clemente/quic-go/protocol"
"github.com/lucas-clemente/quic-go/utils"
)
type requestWriter struct {
mutex sync.Mutex
headerStream utils.Stream
headerStream quic.Stream
henc *hpack.Encoder
hbuf bytes.Buffer // HPACK encoder writes into this
@@ -26,7 +27,7 @@ type requestWriter struct {
const defaultUserAgent = "quic-go"
func newRequestWriter(headerStream utils.Stream) *requestWriter {
func newRequestWriter(headerStream quic.Stream) *requestWriter {
rw := &requestWriter{
headerStream: headerStream,
}

View File

@@ -7,6 +7,7 @@ import (
"strings"
"sync"
quic "github.com/lucas-clemente/quic-go"
"github.com/lucas-clemente/quic-go/protocol"
"github.com/lucas-clemente/quic-go/utils"
"golang.org/x/net/http2"
@@ -15,9 +16,9 @@ import (
type responseWriter struct {
dataStreamID protocol.StreamID
dataStream utils.Stream
dataStream quic.Stream
headerStream utils.Stream
headerStream quic.Stream
headerStreamMutex *sync.Mutex
header http.Header
@@ -25,7 +26,7 @@ type responseWriter struct {
headerWritten bool
}
func newResponseWriter(headerStream utils.Stream, headerStreamMutex *sync.Mutex, dataStream utils.Stream, dataStreamID protocol.StreamID) *responseWriter {
func newResponseWriter(headerStream quic.Stream, headerStreamMutex *sync.Mutex, dataStream quic.Stream, dataStreamID protocol.StreamID) *responseWriter {
return &responseWriter{
header: http.Header{},
headerStream: headerStream,

View File

@@ -21,7 +21,7 @@ import (
type streamCreator interface {
quic.Session
GetOrOpenStream(protocol.StreamID) (utils.Stream, error)
GetOrOpenStream(protocol.StreamID) (quic.Stream, error)
}
// Server is a HTTP2 server listening for QUIC connections.
@@ -128,7 +128,7 @@ func (s *Server) handleHeaderStream(session streamCreator) {
}()
}
func (s *Server) handleRequest(session streamCreator, headerStream utils.Stream, headerStreamMutex *sync.Mutex, hpackDecoder *hpack.Decoder, h2framer *http2.Framer) error {
func (s *Server) handleRequest(session streamCreator, headerStream quic.Stream, headerStreamMutex *sync.Mutex, hpackDecoder *hpack.Decoder, h2framer *http2.Framer) error {
h2frame, err := h2framer.ReadFrame()
if err != nil {
return err

View File

@@ -13,10 +13,10 @@ import (
"golang.org/x/net/http2"
"golang.org/x/net/http2/hpack"
quic "github.com/lucas-clemente/quic-go"
"github.com/lucas-clemente/quic-go/protocol"
"github.com/lucas-clemente/quic-go/qerr"
"github.com/lucas-clemente/quic-go/testdata"
"github.com/lucas-clemente/quic-go/utils"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
@@ -25,20 +25,20 @@ import (
type mockSession struct {
closed bool
closedWithError error
dataStream utils.Stream
streamToAccept utils.Stream
dataStream quic.Stream
streamToAccept quic.Stream
}
func (s *mockSession) GetOrOpenStream(id protocol.StreamID) (utils.Stream, error) {
func (s *mockSession) GetOrOpenStream(id protocol.StreamID) (quic.Stream, error) {
return s.dataStream, nil
}
func (s *mockSession) AcceptStream() (utils.Stream, error) {
func (s *mockSession) AcceptStream() (quic.Stream, error) {
return s.streamToAccept, nil
}
func (s *mockSession) OpenStream() (utils.Stream, error) {
func (s *mockSession) OpenStream() (quic.Stream, error) {
panic("not implemented")
}
func (s *mockSession) OpenStreamSync() (utils.Stream, error) {
func (s *mockSession) OpenStreamSync() (quic.Stream, error) {
panic("not implemented")
}
func (s *mockSession) Close(e error) error {