Skip to content

Commit

Permalink
simplify onStreamCompleted in the receiveStream
Browse files Browse the repository at this point in the history
  • Loading branch information
marten-seemann committed Nov 9, 2019
1 parent dc66c8a commit 529e14d
Showing 1 changed file with 7 additions and 15 deletions.
22 changes: 7 additions & 15 deletions receive_stream.go
Expand Up @@ -84,7 +84,7 @@ func (s *receiveStream) Read(p []byte) (int, error) {
s.mutex.Unlock()

if completed {
s.streamCompleted()
s.sender.onStreamCompleted(s.streamID)
}
return n, err
}
Expand Down Expand Up @@ -201,7 +201,8 @@ func (s *receiveStream) CancelRead(errorCode protocol.ApplicationErrorCode) {
s.mutex.Unlock()

if completed {
s.streamCompleted()
s.flowController.Abandon()
s.sender.onStreamCompleted(s.streamID)
}
}

Expand All @@ -226,7 +227,8 @@ func (s *receiveStream) handleStreamFrame(frame *wire.StreamFrame) error {
s.mutex.Unlock()

if completed {
s.streamCompleted()
s.flowController.Abandon()
s.sender.onStreamCompleted(s.streamID)
}
return err
}
Expand Down Expand Up @@ -257,7 +259,8 @@ func (s *receiveStream) handleResetStreamFrame(frame *wire.ResetStreamFrame) err
s.mutex.Unlock()

if completed {
s.streamCompleted()
s.flowController.Abandon()
s.sender.onStreamCompleted(s.streamID)
}
return err
}
Expand Down Expand Up @@ -312,17 +315,6 @@ func (s *receiveStream) getWindowUpdate() protocol.ByteCount {
return s.flowController.GetWindowUpdate()
}

func (s *receiveStream) streamCompleted() {
s.mutex.Lock()
finRead := s.finRead
s.mutex.Unlock()

if !finRead {
s.flowController.Abandon()
}
s.sender.onStreamCompleted(s.streamID)
}

// signalRead performs a non-blocking send on the readChan
func (s *receiveStream) signalRead() {
select {
Expand Down

0 comments on commit 529e14d

Please sign in to comment.