// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_AUTO_SET_CONV =
//         valueOf(UkcpChannelOption.class, "UKCP_AUTO_SET_CONV");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_DEAD_LINK =
//         valueOf(UkcpChannelOption.class, "UKCP_DEAD_LINK");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_FAST_FLUSH =
//         valueOf(UkcpChannelOption.class, "UKCP_FAST_FLUSH");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_FAST_LIMIT =
//         valueOf(UkcpChannelOption.class, "UKCP_FAST_LIMIT");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_FAST_RESEND =
//         valueOf(UkcpChannelOption.class, "UKCP_FAST_RESEND");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_INTERVAL =
//         valueOf(UkcpChannelOption.class, "UKCP_INTERVAL");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_MERGE_SEGMENT_BUF =
//         valueOf(UkcpChannelOption.class, "UKCP_MERGE_SEGMENT_BUF");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_MIN_RTO =
//         valueOf(UkcpChannelOption.class, "UKCP_MIN_RTO");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_MTU =
//         valueOf(UkcpChannelOption.class, "UKCP_MTU");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_NOCWND =
//         valueOf(UkcpChannelOption.class, "UKCP_NOCWND");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_NODELAY =
//         valueOf(UkcpChannelOption.class, "UKCP_NODELAY");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_RCV_WND =
//         valueOf(UkcpChannelOption.class, "UKCP_RCV_WND");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_SND_WND =
//         valueOf(UkcpChannelOption.class, "UKCP_SND_WND");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_STREAM =
//         valueOf(UkcpChannelOption.class, "UKCP_STREAM");


import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_AUTO_SET_CONV;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_DEAD_LINK;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_FAST_FLUSH;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_FAST_LIMIT;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_FAST_RESEND;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_INTERVAL;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_MERGE_SEGMENT_BUF;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_MIN_RTO;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_MTU;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_NOCWND;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_NODELAY;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_RCV_WND;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_SND_WND;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_STREAM;
import java.util.Map;
import java.util.Objects;
import io.netty.buffer.ByteBufAllocator;
import io.netty.channel.ChannelOption;
import io.netty.channel.DefaultChannelConfig;
import io.netty.channel.FixedRecvByteBufAllocator;
import io.netty.channel.MessageSizeEstimator;
import io.netty.channel.RecvByteBufAllocator;
import io.netty.channel.WriteBufferWaterMark;
package io.jpower.kcp.netty;




/**
 * @author <a href="mailto:szhnet@gmail.com">szh</a>
 */
public class DefaultUkcpServerChildChannelConfig extends DefaultChannelConfig implements UkcpChannelConfig {

    private final Ukcp ukcp;

    public DefaultUkcpServerChildChannelConfig(UkcpServerChildChannel channel, Ukcp ukcp) {
        super(channel, new FixedRecvByteBufAllocator(Consts.FIXED_RECV_BYTEBUF_ALLOCATE_SIZE));
        this.ukcp = Objects.requireNonNull(ukcp, "ukcp");
    }

    @Override
    @SuppressWarnings("deprecation")
    public Map<ChannelOption<?>, Object> getOptions() {
        return getOptions(
                super.getOptions(),
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_AUTO_SET_CONV =
//         valueOf(UkcpChannelOption.class, "UKCP_AUTO_SET_CONV");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_DEAD_LINK =
//         valueOf(UkcpChannelOption.class, "UKCP_DEAD_LINK");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_FAST_FLUSH =
//         valueOf(UkcpChannelOption.class, "UKCP_FAST_FLUSH");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_FAST_LIMIT =
//         valueOf(UkcpChannelOption.class, "UKCP_FAST_LIMIT");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_FAST_RESEND =
//         valueOf(UkcpChannelOption.class, "UKCP_FAST_RESEND");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_INTERVAL =
//         valueOf(UkcpChannelOption.class, "UKCP_INTERVAL");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_MERGE_SEGMENT_BUF =
//         valueOf(UkcpChannelOption.class, "UKCP_MERGE_SEGMENT_BUF");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_MIN_RTO =
//         valueOf(UkcpChannelOption.class, "UKCP_MIN_RTO");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_MTU =
//         valueOf(UkcpChannelOption.class, "UKCP_MTU");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_NOCWND =
//         valueOf(UkcpChannelOption.class, "UKCP_NOCWND");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_NODELAY =
//         valueOf(UkcpChannelOption.class, "UKCP_NODELAY");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_RCV_WND =
//         valueOf(UkcpChannelOption.class, "UKCP_RCV_WND");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Integer> UKCP_SND_WND =
//         valueOf(UkcpChannelOption.class, "UKCP_SND_WND");
// 
// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/UkcpChannelOption.java
// public static final ChannelOption<Boolean> UKCP_STREAM =
//         valueOf(UkcpChannelOption.class, "UKCP_STREAM");


// Path: kcp-netty/src/main/java/io/jpower/kcp/netty/DefaultUkcpServerChildChannelConfig.java
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_AUTO_SET_CONV;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_DEAD_LINK;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_FAST_FLUSH;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_FAST_LIMIT;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_FAST_RESEND;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_INTERVAL;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_MERGE_SEGMENT_BUF;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_MIN_RTO;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_MTU;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_NOCWND;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_NODELAY;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_RCV_WND;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_SND_WND;
import static io.jpower.kcp.netty.UkcpChannelOption.UKCP_STREAM;
import java.util.Map;
import java.util.Objects;
import io.netty.buffer.ByteBufAllocator;
import io.netty.channel.ChannelOption;
import io.netty.channel.DefaultChannelConfig;
import io.netty.channel.FixedRecvByteBufAllocator;
import io.netty.channel.MessageSizeEstimator;
import io.netty.channel.RecvByteBufAllocator;
import io.netty.channel.WriteBufferWaterMark;

package io.jpower.kcp.netty;




/**
 * @author <a href="mailto:szhnet@gmail.com">szh</a>
 */
public class DefaultUkcpServerChildChannelConfig extends DefaultChannelConfig implements UkcpChannelConfig {

    private final Ukcp ukcp;

    public DefaultUkcpServerChildChannelConfig(UkcpServerChildChannel channel, Ukcp ukcp) {
        super(channel, new FixedRecvByteBufAllocator(Consts.FIXED_RECV_BYTEBUF_ALLOCATE_SIZE));
        this.ukcp = Objects.requireNonNull(ukcp, "ukcp");
    }

    @Override
    @SuppressWarnings("deprecation")
    public Map<ChannelOption<?>, Object> getOptions() {
        return getOptions(
                super.getOptions(),
                UKCP_NODELAY, UKCP_INTERVAL, UKCP_FAST_RESEND, UKCP_FAST_LIMIT, UKCP_NOCWND, UKCP_MIN_RTO, UKCP_MTU,