package com.firefly.server.http2; import com.firefly.codec.http2.model.HttpVersion; import com.firefly.codec.http2.stream.AbstractHTTPConnection; import com.firefly.codec.http2.stream.ConnectionType; import com.firefly.codec.http2.stream.HTTPTunnelConnection; import com.firefly.net.buffer.FileRegion; import com.firefly.net.tcp.ssl.SSLSession; import com.firefly.utils.concurrent.Callback; import com.firefly.utils.function.Action1; import java.nio.ByteBuffer; import java.util.Collection; /** * @author Pengtao Qiu */ public class HTTP1ServerTunnelConnection extends AbstractHTTPConnection implements HTTPTunnelConnection { Action1<ByteBuffer> content; public HTTP1ServerTunnelConnection(SSLSession sslSession, com.firefly.net.Session tcpSession, HttpVersion httpVersion) { super(sslSession, tcpSession, httpVersion); } @Override public void write(ByteBuffer byteBuffer, Callback callback) { tcpSession.write(byteBuffer, callback); } @Override public void write(ByteBuffer[] buffers, Callback callback) { tcpSession.write(buffers, callback); } @Override public void write(Collection<ByteBuffer> buffers, Callback callback) { tcpSession.write(buffers, callback); } @Override public void write(FileRegion file, Callback callback) { tcpSession.write(file, callback); } @Override public void receive(Action1<ByteBuffer> content) { this.content = content; } @Override public ConnectionType getConnectionType() { return ConnectionType.HTTP_TUNNEL; } }