X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fnetconf-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fclient%2FNetconfClientSessionNegotiatorFactory.java;h=6215f4f0a82b2db3e8f21f06400a74e27d749ce7;hb=refs%2Fchanges%2F24%2F101924%2F5;hp=8a8cb2927d618e09365b995dbe82b816202f2bfa;hpb=134a5dfe40fa01ebb879bd9f5d0bfa119650ef6a;p=netconf.git diff --git a/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientSessionNegotiatorFactory.java b/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientSessionNegotiatorFactory.java index 8a8cb2927d..6215f4f0a8 100644 --- a/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientSessionNegotiatorFactory.java +++ b/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientSessionNegotiatorFactory.java @@ -15,10 +15,12 @@ import io.netty.util.Timer; import io.netty.util.concurrent.Promise; import java.util.Optional; import java.util.Set; +import org.checkerframework.checker.index.qual.NonNegative; import org.opendaylight.netconf.api.NetconfSessionListenerFactory; import org.opendaylight.netconf.api.messages.NetconfHelloMessage; import org.opendaylight.netconf.api.messages.NetconfHelloMessageAdditionalHeader; import org.opendaylight.netconf.api.xml.XmlNetconfConstants; +import org.opendaylight.netconf.nettyutil.AbstractNetconfSessionNegotiator; import org.opendaylight.netconf.nettyutil.NetconfSessionNegotiatorFactory; import org.opendaylight.netconf.nettyutil.handler.exi.EXIParameters; import org.opendaylight.netconf.nettyutil.handler.exi.NetconfStartExiMessage; @@ -65,6 +67,7 @@ public class NetconfClientSessionNegotiatorFactory } private final Optional additionalHeader; + private final @NonNegative int maximumIncomingChunkSize; private final Set clientCapabilities; private final long connectionTimeoutMillis; private final Timer timer; @@ -76,6 +79,14 @@ public class NetconfClientSessionNegotiatorFactory this(timer, additionalHeader, connectionTimeoutMillis, DEFAULT_OPTIONS); } + public NetconfClientSessionNegotiatorFactory(final Timer timer, + final Optional additionalHeader, + final long connectionTimeoutMillis, + final @NonNegative int maximumIncomingChunkSize) { + this(timer, additionalHeader, connectionTimeoutMillis, DEFAULT_OPTIONS, EXI_CLIENT_CAPABILITIES, + maximumIncomingChunkSize); + } + public NetconfClientSessionNegotiatorFactory(final Timer timer, final Optional additionalHeader, final long connectionTimeoutMillis, final Set capabilities) { @@ -93,11 +104,21 @@ public class NetconfClientSessionNegotiatorFactory final Optional additionalHeader, final long connectionTimeoutMillis, final EXIParameters exiOptions, final Set capabilities) { + this(timer, additionalHeader, connectionTimeoutMillis, exiOptions, capabilities, + AbstractNetconfSessionNegotiator.DEFAULT_MAXIMUM_INCOMING_CHUNK_SIZE); + } + + public NetconfClientSessionNegotiatorFactory(final Timer timer, + final Optional additionalHeader, + final long connectionTimeoutMillis, final EXIParameters exiOptions, + final Set capabilities, + final @NonNegative int maximumIncomingChunkSize) { this.timer = requireNonNull(timer); this.additionalHeader = additionalHeader; this.connectionTimeoutMillis = connectionTimeoutMillis; options = exiOptions; clientCapabilities = capabilities; + this.maximumIncomingChunkSize = maximumIncomingChunkSize; } public long getConnectionTimeoutMillis() { @@ -111,6 +132,6 @@ public class NetconfClientSessionNegotiatorFactory return new NetconfClientSessionNegotiator( NetconfHelloMessage.createClientHello(clientCapabilities, additionalHeader), NetconfStartExiMessage.create(options, START_EXI_MESSAGE_ID), promise, channel, timer, - sessionListenerFactory.getSessionListener(), connectionTimeoutMillis); + sessionListenerFactory.getSessionListener(), connectionTimeoutMillis, maximumIncomingChunkSize); } }