use of org.jboss.netty.channel.ChannelFactory in project Protocol-Adapter-OSLP by OSGP.
the class ApplicationContext method clientBootstrap.
@Bean(destroyMethod = "releaseExternalResources")
public ClientBootstrap clientBootstrap() {
final ChannelFactory factory = new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool());
final ChannelPipelineFactory pipelineFactory = () -> {
final ChannelPipeline pipeline = ApplicationContext.this.createPipeLine();
LOGGER.info("Created new client pipeline");
return pipeline;
};
final ClientBootstrap bootstrap = new ClientBootstrap(factory);
bootstrap.setOption("tcpNoDelay", true);
bootstrap.setOption("keepAlive", false);
bootstrap.setOption("connectTimeoutMillis", this.connectionTimeout());
bootstrap.setPipelineFactory(pipelineFactory);
return bootstrap;
}
use of org.jboss.netty.channel.ChannelFactory in project feeyo-hlsserver by variflight.
the class UdpServer method startup.
public void startup(int port) {
ChannelFactory channelFactory = new NioDatagramChannelFactory(Executors.newCachedThreadPool());
bootstrap = new ConnectionlessBootstrap(channelFactory);
bootstrap.setOption("reuseAddress", false);
bootstrap.setOption("child.reuseAddress", false);
// 15M
bootstrap.setOption("readBufferSize", 1024 * 1024 * 15);
bootstrap.setOption("writeBufferSize", 1024 * 20);
bootstrap.setOption("receiveBufferSizePredictor", new FixedReceiveBufferSizePredictor(1024 * 3));
bootstrap.setOption("receiveBufferSizePredictorFactory", new FixedReceiveBufferSizePredictorFactory(1024 * 3));
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
@Override
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeline = Channels.pipeline();
pipeline.addLast("handler", new UdpServerChannelHandler());
return pipeline;
}
});
datagramChannel = (DatagramChannel) bootstrap.bind(new InetSocketAddress(port));
}
use of org.jboss.netty.channel.ChannelFactory in project pinpoint by naver.
the class DefaultPinpointClientFactory method release.
public void release() {
if (this.closed.isClosed()) {
return;
}
if (!this.closed.close()) {
return;
}
if (!useExternalResource) {
final ChannelFactory channelFactory = this.channelFactory;
if (channelFactory != null) {
channelFactory.releaseExternalResources();
}
Set<Timeout> stop = this.timer.stop();
if (!stop.isEmpty()) {
logger.info("stop Timeout:{}", stop.size());
}
// stop, cancel something?
}
}
use of org.jboss.netty.channel.ChannelFactory in project pinpoint by naver.
the class ThriftModule method configure.
@Override
protected void configure() {
logger.info("configure {}", this.getClass().getSimpleName());
ThriftTransportConfig thriftTransportConfig = loadThriftTransportConfig();
bind(ThriftTransportConfig.class).toInstance(thriftTransportConfig);
bind(TransactionIdEncoder.class).to(DefaultTransactionIdEncoder.class).in(Scopes.SINGLETON);
Key<CommandDispatcher> commandDispatcher = Key.get(CommandDispatcher.class);
bind(commandDispatcher).toProvider(CommandDispatcherProvider.class).in(Scopes.SINGLETON);
// expose(commandDispatcher);
TypeLiteral<SpanProcessor<TSpan, TSpanChunk>> spanPostProcessorType = new TypeLiteral<SpanProcessor<TSpan, TSpanChunk>>() {
};
bind(spanPostProcessorType).toProvider(SpanProcessorProvider.class).in(Scopes.SINGLETON);
bind(ConnectionFactoryProvider.class).toProvider(ConnectionFactoryProviderProvider.class).in(Scopes.SINGLETON);
Key<PinpointClientFactory> pinpointClientFactory = Key.get(PinpointClientFactory.class, DefaultClientFactory.class);
bind(pinpointClientFactory).toProvider(PinpointClientFactoryProvider.class).in(Scopes.SINGLETON);
// expose(pinpointClientFactory);
bind(HeaderTBaseSerializer.class).toProvider(HeaderTBaseSerializerProvider.class).in(Scopes.SINGLETON);
// EnhancedDataSender
TypeLiteral<EnhancedDataSender<MetaDataType>> dataSenderTypeLiteral = new TypeLiteral<EnhancedDataSender<MetaDataType>>() {
};
bind(dataSenderTypeLiteral).toProvider(TcpDataSenderProvider.class).in(Scopes.SINGLETON);
expose(dataSenderTypeLiteral);
// Bind AgentDataSender to EnhancedDataSender
Key<EnhancedDataSender<MetaDataType>> agentDataSender = Key.get(dataSenderTypeLiteral, AgentDataSender.class);
bind(agentDataSender).to(dataSenderTypeLiteral).in(Scopes.SINGLETON);
expose(agentDataSender);
// Bind MetadataDataSender to EnhancedDataSender
Key<EnhancedDataSender<MetaDataType>> metadataDataSender = Key.get(dataSenderTypeLiteral, MetadataDataSender.class);
bind(metadataDataSender).to(dataSenderTypeLiteral).in(Scopes.SINGLETON);
expose(metadataDataSender);
Key<Timer> spanStatConnectTimer = Key.get(Timer.class, SpanStatChannelFactory.class);
bind(spanStatConnectTimer).toProvider(SpanStatConnectTimerProvider.class).in(Scopes.SINGLETON);
Key<ChannelFactory> spanStatChannelFactory = Key.get(ChannelFactory.class, SpanStatChannelFactory.class);
bind(spanStatChannelFactory).toProvider(SpanStatChannelFactoryProvider.class).in(Scopes.SINGLETON);
Key<PinpointClientFactory> spanClientFactory = Key.get(PinpointClientFactory.class, SpanDataSender.class);
bind(spanClientFactory).toProvider(SpanClientFactoryProvider.class).in(Scopes.SINGLETON);
Key<PinpointClientFactory> statClientFactory = Key.get(PinpointClientFactory.class, StatDataSender.class);
bind(statClientFactory).toProvider(StatClientFactoryProvider.class).in(Scopes.SINGLETON);
TypeLiteral<MessageConverter<SpanType, TBase<?, ?>>> thriftMessageConverter = new TypeLiteral<MessageConverter<SpanType, TBase<?, ?>>>() {
};
Key<MessageConverter<SpanType, TBase<?, ?>>> spanMessageConverterKey = Key.get(thriftMessageConverter, SpanDataSender.class);
bind(spanMessageConverterKey).toProvider(SpanThriftMessageConverterProvider.class).in(Scopes.SINGLETON);
// expose(spanMessageConverterKey);
TypeLiteral<MessageConverter<MetaDataType, TBase<?, ?>>> metadataMessageConverter = new TypeLiteral<MessageConverter<MetaDataType, TBase<?, ?>>>() {
};
Key<MessageConverter<MetaDataType, TBase<?, ?>>> metadataMessageConverterKey = Key.get(metadataMessageConverter, MetadataDataSender.class);
bind(metadataMessageConverterKey).toProvider(MetadataMessageConverterProvider.class).in(Scopes.SINGLETON);
// expose(metadataMessageConverterKey);
// Stat Thrift Converter
TypeLiteral<MessageConverter<MetricType, TBase<?, ?>>> statMessageConverter = new TypeLiteral<MessageConverter<MetricType, TBase<?, ?>>>() {
};
Key<MessageConverter<MetricType, TBase<?, ?>>> statMessageConverterKey = Key.get(statMessageConverter, StatDataSender.class);
bind(statMessageConverterKey).toProvider(StatThriftMessageConverterProvider.class).in(Scopes.SINGLETON);
TypeLiteral<DataSender<SpanType>> spanDataSenderType = new TypeLiteral<DataSender<SpanType>>() {
};
Key<DataSender<SpanType>> spanDataSender = Key.get(spanDataSenderType, SpanDataSender.class);
bind(spanDataSender).toProvider(SpanDataSenderProvider.class).in(Scopes.SINGLETON);
expose(spanDataSender);
TypeLiteral<DataSender<MetricType>> statDataSenderType = new TypeLiteral<DataSender<MetricType>>() {
};
Key<DataSender<MetricType>> statDataSender = Key.get(statDataSenderType, StatDataSender.class);
bind(statDataSender).toProvider(StatDataSenderProvider.class).in(Scopes.SINGLETON);
expose(statDataSender);
// For AgentInfoSender
// TypeLiteral<AgentInfoFactory> agentInfoFactoryTypeLiteral = new TypeLiteral<AgentInfoFactory>() {};
// bind(agentInfoFactoryTypeLiteral).toProvider(AgentInfoFactoryProvider.class).in(Scopes.SINGLETON);
// expose(agentInfoFactoryTypeLiteral);
TypeLiteral<MessageConverter<Object, ResultResponse>> resultMessageConverter = new TypeLiteral<MessageConverter<Object, ResultResponse>>() {
};
Key<MessageConverter<Object, ResultResponse>> resultMessageConverterKey = Key.get(resultMessageConverter, ResultConverter.class);
bind(resultMessageConverterKey).toProvider(ThriftMessageToResultConverterProvider.class).in(Scopes.SINGLETON);
expose(resultMessageConverterKey);
Key<ModuleLifeCycle> rpcModuleLifeCycleKey = Key.get(ModuleLifeCycle.class, Names.named("RPC-MODULE"));
bind(rpcModuleLifeCycleKey).to(ThriftModuleLifeCycle.class).in(Scopes.SINGLETON);
expose(rpcModuleLifeCycleKey);
}
use of org.jboss.netty.channel.ChannelFactory in project hadoop by apache.
the class SimpleTcpServer method run.
public void run() {
// Configure the Server.
ChannelFactory factory;
if (workerCount == 0) {
// Use default workers: 2 * the number of available processors
factory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool());
} else {
factory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool(), workerCount);
}
server = new ServerBootstrap(factory);
server.setPipelineFactory(new ChannelPipelineFactory() {
@Override
public ChannelPipeline getPipeline() throws Exception {
return Channels.pipeline(RpcUtil.constructRpcFrameDecoder(), RpcUtil.STAGE_RPC_MESSAGE_PARSER, rpcProgram, RpcUtil.STAGE_RPC_TCP_RESPONSE);
}
});
server.setOption("child.tcpNoDelay", true);
server.setOption("child.keepAlive", true);
server.setOption("child.reuseAddress", true);
server.setOption("reuseAddress", true);
// Listen to TCP port
ch = server.bind(new InetSocketAddress(port));
InetSocketAddress socketAddr = (InetSocketAddress) ch.getLocalAddress();
boundPort = socketAddr.getPort();
LOG.info("Started listening to TCP requests at port " + boundPort + " for " + rpcProgram + " with workerCount " + workerCount);
}
Aggregations