@Override public void setWriteBufferLowWaterMark(int writeBufferLowWaterMark) { if (writeBufferLowWaterMark > getWriteBufferHighWaterMark()) { throw new IllegalArgumentException( "writeBufferLowWaterMark cannot be greater than " + "writeBufferHighWaterMark (" + getWriteBufferHighWaterMark() + "): " + writeBufferLowWaterMark); } setWriteBufferLowWaterMark0(writeBufferLowWaterMark); }
@Override public void setWriteBufferHighWaterMark(int writeBufferHighWaterMark) { if (writeBufferHighWaterMark < getWriteBufferLowWaterMark()) { throw new IllegalArgumentException( "writeBufferHighWaterMark cannot be less than " + "writeBufferLowWaterMark (" + getWriteBufferLowWaterMark() + "): " + writeBufferHighWaterMark); } setWriteBufferHighWaterMark0(writeBufferHighWaterMark); }
@Override public boolean setOption(String key, Object value) { if (super.setOption(key, value)) { return true; } if (key.equals("writeBufferHighWaterMark")) { setWriteBufferHighWaterMark0(ConversionUtil.toInt(value)); } else if (key.equals("writeBufferLowWaterMark")) { setWriteBufferLowWaterMark0(ConversionUtil.toInt(value)); } else if (key.equals("writeSpinCount")) { setWriteSpinCount(ConversionUtil.toInt(value)); } else if (key.equals("receiveBufferSizePredictorFactory")) { setReceiveBufferSizePredictorFactory((ReceiveBufferSizePredictorFactory) value); } else if (key.equals("receiveBufferSizePredictor")) { setReceiveBufferSizePredictor((ReceiveBufferSizePredictor) value); } else { return false; } return true; }
@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."); } } }
public SctpChannelImpl(Channel parent, ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink, com.sun.nio.sctp.SctpChannel channel, SctpWorker worker) { super(parent, factory, pipeline, sink); this.channel = channel; this.worker = worker; config = new DefaultNioSctpChannelConfig(channel); getCloseFuture().addListener(new ChannelFutureListener() { @Override public void operationComplete(ChannelFuture future) throws Exception { state = ST_CLOSED; } }); }
@Override 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; }