private boolean isProtocol() { switch (frame.getType()) { case DATA: case HEADERS: case PUSH_PROMISE: case CONTINUATION: return false; case PRIORITY: case RST_STREAM: case SETTINGS: case PING: case GO_AWAY: case WINDOW_UPDATE: case PREFACE: case DISCONNECT: return true; default: throw new IllegalStateException(); } }
private boolean isProtocol() { switch (frame.getType()) { case DATA: case HEADERS: case PUSH_PROMISE: case CONTINUATION: return false; case PRIORITY: case RST_STREAM: case SETTINGS: case PING: case GO_AWAY: case WINDOW_UPDATE: case PREFACE: case DISCONNECT: return true; default: throw new IllegalStateException(); } }
@Override public void failed(Throwable x) { if (frame.getType() == FrameType.DISCONNECT) terminate(new ClosedChannelException()); super.failed(x); } }
@Override public void failed(Throwable x) { if (frame.getType() == FrameType.DISCONNECT) terminate(new ClosedChannelException()); super.failed(x); } }
public int control(ByteBufferPool.Lease lease, Frame frame) { return generators[frame.getType().getType()].generate(lease, frame); }
public int control(ByteBufferPool.Lease lease, Frame frame) { return generators[frame.getType().getType()].generate(lease, frame); }
switch (frame.getType())
switch (frame.getType())
@Override public void onFrame(Frame frame) { switch (frame.getType()) { case PREFACE: onPreface(); break; case SETTINGS: // SPEC: the required reply to this SETTINGS frame is the 101 response. onSettings((SettingsFrame)frame, false); break; case HEADERS: onHeaders((HeadersFrame)frame); break; default: super.onFrame(frame); break; } } }
private void frame(HTTP2Flusher.Entry entry, boolean flush) { if (LOG.isDebugEnabled()) LOG.debug("{} {}", flush ? "Sending" : "Queueing", entry.frame); // Ping frames are prepended to process them as soon as possible. boolean queued = entry.frame.getType() == FrameType.PING ? flusher.prepend(entry) : flusher.append(entry); if (queued && flush) { if (entry.stream != null) entry.stream.notIdle(); flusher.iterate(); } }
private void frame(HTTP2Flusher.Entry entry, boolean flush) { if (LOG.isDebugEnabled()) LOG.debug("{} {}", flush ? "Sending" : "Queueing", entry.frame); // Ping frames are prepended to process them as soon as possible. boolean queued = entry.frame.getType() == FrameType.PING ? flusher.prepend(entry) : flusher.append(entry); if (queued && flush) { if (entry.stream != null) entry.stream.notIdle(); flusher.iterate(); } }
switch (frame.getType())
switch (frame.getType())
frameBytes = 0; switch (frame.getType())
frameBytes = 0; switch (frame.getType())