Skip to content

Commit

Permalink
Close server channel (#14199)
Browse files Browse the repository at this point in the history
  • Loading branch information
finefuture authored May 17, 2024
1 parent e826b0c commit e8ccb01
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,9 @@ public void disableAutoFlowControl() {
public boolean isAutoRequestN() {
return autoRequestN;
}

public void onStreamClosed() {
closed = true;
streamingDecoder.onStreamClosed();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,19 @@ public final void close() {
deliver();
}

@Override
public final void onStreamClosed() {
if (closed) {
return;
}
closed = true;
try {
accumulate.close();
} catch (IOException e) {
throw new DecodeException(e);
}
}

@Override
public final void setFragmentListener(FragmentListener listener) {
this.listener = listener;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ public void close() {
this.listener.onClose();
}

@Override
public void onStreamClosed() {
// do nothing
}

@Override
public void setFragmentListener(FragmentListener listener) {
this.listener = listener;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ public interface StreamingDecoder {

void close();

void onStreamClosed();

void setFragmentListener(FragmentListener listener);

interface FragmentListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ protected final Http2ServerChannelObserver getServerChannelObserver() {
@Override
public void onStreamClosed() {
// doing on event loop thread
getStreamingDecoder().close();
getServerChannelObserver().onStreamClosed();
}

private static class Http2StreamingDecodeListener implements ListeningDecoder.Listener {
Expand Down

0 comments on commit e8ccb01

Please sign in to comment.