TUN-6646: Add support to SafeStreamCloser to close only write side of stream
This commit is contained in:
parent
91eba53035
commit
9de4e88ca6
|
@ -41,3 +41,14 @@ func (s *SafeStreamCloser) Close() error {
|
||||||
s.stream.CancelRead(0)
|
s.stream.CancelRead(0)
|
||||||
return s.stream.Close()
|
return s.stream.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SafeStreamCloser) CloseWrite() error {
|
||||||
|
s.lock.Lock()
|
||||||
|
defer s.lock.Unlock()
|
||||||
|
|
||||||
|
// As documented by the quic-go library, this doesn't actually close the entire stream.
|
||||||
|
// It prevents further writes, which in turn will result in an EOF signal being sent the other side of stream when
|
||||||
|
// reading.
|
||||||
|
// We can still read from this stream.
|
||||||
|
return s.stream.Close()
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue