private HTTPStream syn(boolean close) { HTTPStream stream = new HTTPStream(1, (byte) 0, session, null); StreamFrameListener streamFrameListener = proxyEngineSelector.onSyn(stream, new SynInfo(headers, close)); stream.setStreamFrameListener(streamFrameListener); return stream; }
@Override public boolean content(ByteBuffer item) { if (content == null) { stream = syn(false); content = item; } else { stream.getStreamFrameListener().onData(stream, toDataInfo(item, false)); } return false; }
@Override public boolean messageComplete() { if (stream == null) { assert content == null; if (headers.isEmpty()) proxyEngineSelector.onGoAway(session, new GoAwayReceivedInfo(0, SessionStatus.OK)); else syn(true); } else { stream.getStreamFrameListener().onData(stream, toDataInfo(content, true)); } headers.clear(); stream = null; content = null; return false; }