forked from quic-go/quic-go
@@ -14,9 +14,9 @@ type mockStream struct {
|
||||
bytes.Buffer
|
||||
}
|
||||
|
||||
func (mockStream) Close() error { return nil }
|
||||
|
||||
func (s mockStream) StreamID() protocol.StreamID { return s.id }
|
||||
func (mockStream) Close() error { return nil }
|
||||
func (mockStream) CloseRemote(offset protocol.ByteCount) { panic("not implemented") }
|
||||
func (s mockStream) StreamID() protocol.StreamID { return s.id }
|
||||
|
||||
var _ = Describe("Response Writer", func() {
|
||||
var (
|
||||
|
||||
@@ -88,11 +88,9 @@ func (s *mockStream) Write(p []byte) (int, error) {
|
||||
return s.dataWritten.Write(p)
|
||||
}
|
||||
|
||||
func (s *mockStream) Close() error {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
func (s mockStream) StreamID() protocol.StreamID { panic("not implemented") }
|
||||
func (s *mockStream) Close() error { panic("not implemented") }
|
||||
func (mockStream) CloseRemote(offset protocol.ByteCount) { panic("not implemented") }
|
||||
func (s mockStream) StreamID() protocol.StreamID { panic("not implemented") }
|
||||
|
||||
var _ = Describe("Crypto setup", func() {
|
||||
var (
|
||||
|
||||
@@ -254,6 +254,11 @@ func (s *stream) AddStreamFrame(frame *frames.StreamFrame) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// CloseRemote makes the stream receive a "virtual" FIN stream frame at a given offset
|
||||
func (s *stream) CloseRemote(offset protocol.ByteCount) {
|
||||
s.AddStreamFrame(&frames.StreamFrame{FinBit: true, Offset: offset})
|
||||
}
|
||||
|
||||
func (s *stream) maybeTriggerWindowUpdate() {
|
||||
// check for stream level window updates
|
||||
doUpdate, byteOffset := s.flowController.MaybeTriggerWindowUpdate()
|
||||
|
||||
@@ -655,5 +655,15 @@ var _ = Describe("Stream", func() {
|
||||
Expect(err).To(MatchError(testErr))
|
||||
})
|
||||
})
|
||||
|
||||
Context("when CloseRemote is called", func() {
|
||||
It("closes", func() {
|
||||
str.CloseRemote(0)
|
||||
b := make([]byte, 8)
|
||||
n, err := str.Read(b)
|
||||
Expect(n).To(BeZero())
|
||||
Expect(err).To(MatchError(io.EOF))
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -21,6 +21,7 @@ type Stream interface {
|
||||
io.Writer
|
||||
io.Closer
|
||||
StreamID() protocol.StreamID
|
||||
CloseRemote(offset protocol.ByteCount)
|
||||
}
|
||||
|
||||
// ReadUintN reads N bytes
|
||||
|
||||
Reference in New Issue
Block a user