public ReceiveBufferSizePredictor getReceiveBufferSizePredictor() { ReceiveBufferSizePredictor predictor = this.predictor; if (predictor == null) { try { this.predictor = predictor = getReceiveBufferSizePredictorFactory().getPredictor(); } catch (Exception e) { throw new ChannelException( "Failed to create a new " + ReceiveBufferSizePredictor.class.getSimpleName() + '.', e); } } return predictor; }
setBroadcast(ConversionUtil.toBoolean(value)); } else if ("receiveBufferSize".equals(key)) { setReceiveBufferSize(ConversionUtil.toInt(value)); } else if ("sendBufferSize".equals(key)) { setSendBufferSize(ConversionUtil.toInt(value)); } else if ("receiveBufferSizePredictorFactory".equals(key)) { setReceiveBufferSizePredictorFactory((ReceiveBufferSizePredictorFactory) value); } else if ("receiveBufferSizePredictor".equals(key)) { setReceiveBufferSizePredictor((ReceiveBufferSizePredictor) value); } else if ("reuseAddress".equals(key)) { setReuseAddress(ConversionUtil.toBoolean(value)); } else if ("loopbackModeDisabled".equals(key)) { setLoopbackModeDisabled(ConversionUtil.toBoolean(value)); } else if ("interface".equals(key)) { setInterface((InetAddress) value); } else if ("networkInterface".equals(key)) { setNetworkInterface((NetworkInterface) value); } else if ("timeToLive".equals(key)) { setTimeToLive(ConversionUtil.toInt(value)); } else if ("trafficClass".equals(key)) { setTrafficClass(ConversionUtil.toInt(value)); } else { return false;
@Override public boolean setOption(String key, Object value) { if (super.setOption(key, value)) { return true; } if ("writeBufferHighWaterMark".equals(key)) { setWriteBufferHighWaterMark0(ConversionUtil.toInt(value)); } else if ("writeBufferLowWaterMark".equals(key)) { setWriteBufferLowWaterMark0(ConversionUtil.toInt(value)); } else if ("writeSpinCount".equals(key)) { setWriteSpinCount(ConversionUtil.toInt(value)); } else { return false; } return true; }
OioDatagramChannel( ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink) { super(null, factory, pipeline, sink); try { socket = new MulticastSocket(null); } catch (IOException e) { throw new ChannelException("Failed to open a datagram socket.", e); } try { socket.setSoTimeout(10); socket.setBroadcast(false); } catch (SocketException e) { throw new ChannelException( "Failed to configure the datagram socket timeout.", e); } config = new DefaultDatagramChannelConfig(socket); fireChannelOpen(this); }
@Override public void setOptions(Map<String, Object> options) { super.setOptions(options); if (getWriteBufferHighWaterMark() < getWriteBufferLowWaterMark()) { // Recover the integrity of the configuration with a sensible value. setWriteBufferLowWaterMark0(getWriteBufferHighWaterMark() >>> 1); if (logger.isWarnEnabled()) { // Notify the user about misconfiguration. logger.warn("writeBufferLowWaterMark cannot be greater than " + "writeBufferHighWaterMark; setting to the half of the " + "writeBufferHighWaterMark."); } } }
@Override public void launch(final MessageInput input) throws MisfireException { final LinkedHashMap<String, Callable<? extends ChannelHandler>> handlerList = getBaseChannelHandlers(input); final LinkedHashMap<String, Callable<? extends ChannelHandler>> finalHandlers = getFinalChannelHandlers(input); handlerList.putAll(finalHandlers); try { bootstrap = getBootstrap(); bootstrap.setPipelineFactory(getPipelineFactory(handlerList)); // sigh, bindable bootstraps do not share a common interface int receiveBufferSize; if (bootstrap instanceof ConnectionlessBootstrap) { acceptChannel = ((ConnectionlessBootstrap) bootstrap).bind(socketAddress); final DefaultDatagramChannelConfig channelConfig = (DefaultDatagramChannelConfig) acceptChannel.getConfig(); receiveBufferSize = channelConfig.getReceiveBufferSize(); } else if (bootstrap instanceof ServerBootstrap) { acceptChannel = ((ServerBootstrap) bootstrap).bind(socketAddress); final ServerSocketChannelConfig channelConfig = (ServerSocketChannelConfig) acceptChannel.getConfig(); receiveBufferSize = channelConfig.getReceiveBufferSize(); } else { log.error("Unknown Netty bootstrap class returned: {}. Cannot safely bind.", bootstrap); throw new IllegalStateException("Unknown netty bootstrap class returned: " + bootstrap + ". Cannot safely bind."); } if (receiveBufferSize != getRecvBufferSize()) { log.warn("receiveBufferSize (SO_RCVBUF) for input {} should be {} but is {}.", input, getRecvBufferSize(), receiveBufferSize); } } catch (Exception e) { throw new MisfireException(e); } }
public DefaultDatagramChannelIoSessionConfig() { super(new DefaultDatagramChannelConfig(newDatagramSocket()), DEFAULT); }