// Path: mappingrpc-connector/src/main/java/github/mappingrpc/core/metadata/MetaHolder.java
// public class MetaHolder {
// 	private Map<String, ProviderMeta> providerHolder = new HashMap<>();
// 	private Map<String, ServiceInvocationHandler> clientProxyHolder = new HashMap<>();
// 	private Map<Long, CallResultFuture> requestPool = new ConcurrentHashMap<>();
// 	private long feature1;
// 	private ExecutorService threadPool;
// 	private ExecutorService sysThreadPool;// for QOS
// 
// 	public Map<String, ProviderMeta> getProviderHolder() {
// 		return providerHolder;
// 	}
// 
// 	public Map<String, ServiceInvocationHandler> getClientProxyHolder() {
// 		return clientProxyHolder;
// 	}
// 
// 	public Map<Long, CallResultFuture> getRequestPool() {
// 		return requestPool;
// 	}
// 
// 	public void setRequestPool(Map<Long, CallResultFuture> requestPool) {
// 		this.requestPool = requestPool;
// 	}
// 
// 	public ExecutorService getThreadPool() {
// 		return threadPool;
// 	}
// 
// 	public void setThreadPool(ExecutorService threadPool) {
// 		this.threadPool = threadPool;
// 	}
// 
// 	public long getFeature1() {
// 		return feature1;
// 	}
// 
// 	public void setFeature1(long feature1) {
// 		this.feature1 = feature1;
// 	}
// }


import github.mappingrpc.core.metadata.MetaHolder;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
import io.netty.handler.codec.LengthFieldPrepender;
import io.netty.handler.logging.LogLevel;
import io.netty.handler.logging.LoggingHandler;
import java.io.Closeable;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
package github.mappingrpc.core.io.custompackage;




public class MappingPackageServer implements Closeable {
	static Logger log = LoggerFactory.getLogger(MappingPackageServer.class);

	private MetaHolder metaHolder;
	private short serverPort;

	EventLoopGroup bossEventLoop = new NioEventLoopGroup();
	EventLoopGroup workerEventLoop = new NioEventLoopGroup();

// Path: mappingrpc-connector/src/main/java/github/mappingrpc/core/metadata/MetaHolder.java
// public class MetaHolder {
// 	private Map<String, ProviderMeta> providerHolder = new HashMap<>();
// 	private Map<String, ServiceInvocationHandler> clientProxyHolder = new HashMap<>();
// 	private Map<Long, CallResultFuture> requestPool = new ConcurrentHashMap<>();
// 	private long feature1;
// 	private ExecutorService threadPool;
// 	private ExecutorService sysThreadPool;// for QOS
// 
// 	public Map<String, ProviderMeta> getProviderHolder() {
// 		return providerHolder;
// 	}
// 
// 	public Map<String, ServiceInvocationHandler> getClientProxyHolder() {
// 		return clientProxyHolder;
// 	}
// 
// 	public Map<Long, CallResultFuture> getRequestPool() {
// 		return requestPool;
// 	}
// 
// 	public void setRequestPool(Map<Long, CallResultFuture> requestPool) {
// 		this.requestPool = requestPool;
// 	}
// 
// 	public ExecutorService getThreadPool() {
// 		return threadPool;
// 	}
// 
// 	public void setThreadPool(ExecutorService threadPool) {
// 		this.threadPool = threadPool;
// 	}
// 
// 	public long getFeature1() {
// 		return feature1;
// 	}
// 
// 	public void setFeature1(long feature1) {
// 		this.feature1 = feature1;
// 	}
// }


// Path: mappingrpc-connector/src/main/java/github/mappingrpc/core/io/custompackage/MappingPackageServer.java
import github.mappingrpc.core.metadata.MetaHolder;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
import io.netty.handler.codec.LengthFieldPrepender;
import io.netty.handler.logging.LogLevel;
import io.netty.handler.logging.LoggingHandler;
import java.io.Closeable;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

package github.mappingrpc.core.io.custompackage;




public class MappingPackageServer implements Closeable {
	static Logger log = LoggerFactory.getLogger(MappingPackageServer.class);

	private MetaHolder metaHolder;
	private short serverPort;

	EventLoopGroup bossEventLoop = new NioEventLoopGroup();
	EventLoopGroup workerEventLoop = new NioEventLoopGroup();

	public MappingPackageServer(MetaHolder metaHolder, short serverPort) {