* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.netconf.impl;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+import static java.util.Objects.requireNonNull;
+
import io.netty.util.Timer;
import java.util.Set;
+import org.checkerframework.checker.index.qual.NonNegative;
import org.opendaylight.netconf.api.monitoring.NetconfMonitoringService;
import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
+import org.opendaylight.netconf.nettyutil.AbstractNetconfSessionNegotiator;
public class NetconfServerSessionNegotiatorFactoryBuilder {
private Timer timer;
private long connectionTimeoutMillis;
private NetconfMonitoringService monitoringService;
private Set<String> baseCapabilities;
+ private @NonNegative int maximumIncomingChunkSize =
+ AbstractNetconfSessionNegotiator.DEFAULT_MAXIMUM_INCOMING_CHUNK_SIZE;
public NetconfServerSessionNegotiatorFactoryBuilder() {
}
return this;
}
- public NetconfServerSessionNegotiatorFactoryBuilder setAggregatedOpService(final NetconfOperationServiceFactory aggregatedOpService) {
+ public NetconfServerSessionNegotiatorFactoryBuilder setAggregatedOpService(
+ final NetconfOperationServiceFactory aggregatedOpService) {
this.aggregatedOpService = aggregatedOpService;
return this;
}
return this;
}
- public NetconfServerSessionNegotiatorFactoryBuilder setMonitoringService(final NetconfMonitoringService monitoringService) {
+ public NetconfServerSessionNegotiatorFactoryBuilder setMonitoringService(
+ final NetconfMonitoringService monitoringService) {
this.monitoringService = monitoringService;
return this;
}
return this;
}
+ public NetconfServerSessionNegotiatorFactoryBuilder setMaximumIncomingChunkSize(
+ final @NonNegative int maximumIncomingChunkSize) {
+ checkArgument(maximumIncomingChunkSize > 0);
+ this.maximumIncomingChunkSize = maximumIncomingChunkSize;
+ return this;
+ }
public NetconfServerSessionNegotiatorFactory build() {
validate();
- return new NetconfServerSessionNegotiatorFactory(timer, aggregatedOpService, idProvider, connectionTimeoutMillis, monitoringService, baseCapabilities);
+ return new NetconfServerSessionNegotiatorFactory(timer, aggregatedOpService, idProvider,
+ connectionTimeoutMillis, monitoringService, baseCapabilities, maximumIncomingChunkSize);
}
-
private void validate() {
- Preconditions.checkNotNull(timer, "timer not initialized");
- Preconditions.checkNotNull(aggregatedOpService, "NetconfOperationServiceFactory not initialized");
- Preconditions.checkNotNull(idProvider, "SessionIdProvider not initialized");
- Preconditions.checkArgument(connectionTimeoutMillis > 0, "connection time out <=0");
- Preconditions.checkNotNull(monitoringService, "NetconfMonitoringService not initialized");
+ requireNonNull(timer, "timer not initialized");
+ requireNonNull(aggregatedOpService, "NetconfOperationServiceFactory not initialized");
+ requireNonNull(idProvider, "SessionIdProvider not initialized");
+ checkArgument(connectionTimeoutMillis > 0, "connection time out <=0");
+ requireNonNull(monitoringService, "NetconfMonitoringService not initialized");
- baseCapabilities = (baseCapabilities == null) ? NetconfServerSessionNegotiatorFactory.DEFAULT_BASE_CAPABILITIES : baseCapabilities;
+ if (baseCapabilities == null) {
+ baseCapabilities = NetconfServerSessionNegotiatorFactory.DEFAULT_BASE_CAPABILITIES;
+ }
}
}