package edu.uw.zookeeper.netty.client;
import java.util.Map;
import io.netty.buffer.PooledByteBufAllocator;
import io.netty.channel.ChannelOption;
import com.google.common.collect.ImmutableMap;
import edu.uw.zookeeper.common.Reference;
public enum ClientTcpChannelOptionsFactory implements Reference<Map<ChannelOption<?>, ?>> {
// the same options used in ClientCnxnSocketNIO
INSTANCE(ImmutableMap.<ChannelOption<?>, Object>of(
ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT,
ChannelOption.TCP_NODELAY, Boolean.TRUE,
ChannelOption.SO_LINGER, Integer.valueOf(-1)));
public static Map<ChannelOption<?>, ?> getInstance() {
return INSTANCE.get();
}
private final ImmutableMap<ChannelOption<?>, ?> options;
private ClientTcpChannelOptionsFactory(ImmutableMap<ChannelOption<?>, ?> options) {
this.options = options;
}
@Override
public Map<ChannelOption<?>, ?> get() {
return options;
}
}