DefaultHttp2RemoteFlowController implements Http2RemoteFlowController { @Override public void initialWindowSize(int newWindowSize) throws Http2Exception { assert ctx == null || ctx.executor().inEventLoop(); monitor.initialWindowSize(newWindowSize); } DefaultHttp2RemoteFlowController(Http2Connection connection);  DefaultHttp2RemoteFlowController(Http2Connection connection,
                                            StreamByteDistributor streamByteDistributor);  DefaultHttp2RemoteFlowController(Http2Connection connection, final Listener listener);  DefaultHttp2RemoteFlowController(Http2Connection connection,
                                            StreamByteDistributor streamByteDistributor,
                                            final Listener listener); @Override void channelHandlerContext(ChannelHandlerContext ctx); @Override ChannelHandlerContext channelHandlerContext(); @Override void initialWindowSize(int newWindowSize); @Override int initialWindowSize(); @Override int windowSize(Http2Stream stream); @Override boolean isWritable(Http2Stream stream); @Override void channelWritabilityChanged(); @Override void updateDependencyTree(int childStreamId, int parentStreamId, short weight, boolean exclusive); @Override void listener(Listener listener); @Override void incrementWindowSize(Http2Stream stream, int delta); @Override void addFlowControlled(Http2Stream stream, FlowControlled frame); @Override boolean hasFlowControlled(Http2Stream stream); @Override void writePendingBytes();  }
@Test public void initialWindowSizeShouldOnlyChangeStreams() throws Http2Exception { controller.initialWindowSize(0); assertEquals(DEFAULT_WINDOW_SIZE, window(CONNECTION_STREAM_ID)); assertEquals(0, window(STREAM_A)); assertEquals(0, window(STREAM_B)); assertEquals(0, window(STREAM_C)); assertEquals(0, window(STREAM_D)); assertWritabilityChanged(1, false); }