module hunt.http.server.Http2ServerDecoder; import hunt.http.server.Http2ServerConnection; import hunt.net.DecoderChain; import hunt.net.Session; import hunt.logging; import hunt.container.ByteBuffer; class Http2ServerDecoder : DecoderChain { this() { super(null); } override void decode(ByteBuffer buffer, Session session) { if (!buffer.hasRemaining()) { return; } version(HUNT_DEBUG) { tracef("buffer: %s", buffer.toString()); tracef("the server session %s received the %s bytes", session.getSessionId(), buffer.remaining()); } Http2ServerConnection connection = cast(Http2ServerConnection) session.getAttachment(); connection.getParser().parse(buffer); } }