All Downloads are FREE. Search and download functionalities are using the official Maven repository.

info.bitrich.xchangestream.coinbasepro.netty.WebSocketClientCompressionAllowClientNoContextHandler Maven / Gradle / Ivy

package info.bitrich.xchangestream.coinbasepro.netty;

import static io.netty.handler.codec.http.websocketx.extensions.compression.PerMessageDeflateServerExtensionHandshaker.MAX_WINDOW_SIZE;

import io.netty.channel.ChannelHandler;
import io.netty.handler.codec.compression.ZlibCodecFactory;
import io.netty.handler.codec.http.websocketx.extensions.WebSocketClientExtensionHandler;
import io.netty.handler.codec.http.websocketx.extensions.compression.DeflateFrameClientExtensionHandshaker;
import io.netty.handler.codec.http.websocketx.extensions.compression.PerMessageDeflateClientExtensionHandshaker;

/**
 * Custom WebSocket client extension handler. GDAX needs very specific WebSocket extensions enabled.
 */
@ChannelHandler.Sharable
public final class WebSocketClientCompressionAllowClientNoContextHandler
    extends WebSocketClientExtensionHandler {

  public static final WebSocketClientCompressionAllowClientNoContextHandler INSTANCE =
      new WebSocketClientCompressionAllowClientNoContextHandler();

  private WebSocketClientCompressionAllowClientNoContextHandler() {
    super(
        new PerMessageDeflateClientExtensionHandshaker(
            6, ZlibCodecFactory.isSupportingWindowSizeAndMemLevel(), MAX_WINDOW_SIZE, true, false),
        new DeflateFrameClientExtensionHandshaker(false),
        new DeflateFrameClientExtensionHandshaker(true));
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy