import io.netty.channel.ChannelFuture;
import java.net.InetSocketAddress;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.protocol.concepts.KeyMapping;
/**
* @param tcpKeys RFC2385 TCP-MD5 keys
* @param registry a message registry
* @param negotiatorFactory a negotiation factory
- * @param negotiatorDependencies PCEPSessionNegotiatorFactoryDependencies
+ * @param listenerFactory {@link PCEPSessionListenerFactory} to create listeners for clients
+ * @param peerProposal optional information used in our Open message
* @return A future completing when the PCEP server is created
*/
@NonNull ChannelFuture createServer(@NonNull InetSocketAddress listenAddress, @NonNull KeyMapping tcpKeys,
@NonNull MessageRegistry registry, @NonNull PCEPSessionNegotiatorFactory negotiatorFactory,
- @NonNull PCEPSessionNegotiatorFactoryDependencies negotiatorDependencies);
+ @NonNull PCEPSessionListenerFactory listenerFactory, @Nullable PCEPPeerProposal peerProposal);
}
import io.netty.channel.Channel;
import io.netty.util.concurrent.Promise;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
/**
* Factory for creating PCEP session negotiator.
/**
* Creates PCEPSessionNegotiator instance for income attributes.
*
- * @param sessionNegotiatorDependencies contains PCEPSessionNegotiator dependencies
- * @param channel session channel
- * @param promise session promise
+ * @param channel session channel
+ * @param promise session promise
* @return PCEPSessionNegotiator instance
*/
- @NonNull SessionNegotiator getSessionNegotiator(
- @NonNull PCEPSessionNegotiatorFactoryDependencies sessionNegotiatorDependencies,
- @NonNull Channel channel, @NonNull Promise<PCEPSession> promise);
+ @NonNull SessionNegotiator getSessionNegotiator(@NonNull Channel channel, @NonNull Promise<PCEPSession> promise,
+ @NonNull PCEPSessionListenerFactory listenerFactory, @Nullable PCEPPeerProposal peerProposal);
}
+++ /dev/null
-/*
- * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * 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.protocol.pcep;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * Contains required dependencies for create SessionNegotiator.
- */
-public interface PCEPSessionNegotiatorFactoryDependencies {
- /**
- * ListenerFactory to create listeners for clients.
- *
- * @return ListenerFactory
- */
- @NonNull PCEPSessionListenerFactory getListenerFactory();
-
- /**
- * PeerProposal information used in our Open message.
- *
- * @return peerProposal null by default since its not mandatory. Otherwise method should be override it.
- */
- default @Nullable PCEPPeerProposal getPeerProposal() {
- return null;
- }
-}
*/
package org.opendaylight.protocol.pcep.impl;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.primitives.UnsignedBytes;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFutureListener;
import java.net.InetSocketAddress;
import java.util.Comparator;
import java.util.concurrent.ExecutionException;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.protocol.pcep.PCEPPeerProposal;
import org.opendaylight.protocol.pcep.PCEPSession;
+import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
import org.opendaylight.protocol.pcep.SessionNegotiator;
import org.opendaylight.protocol.pcep.impl.PCEPPeerRegistry.SessionReference;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Message;
/**
* Create a new negotiator. This method needs to be implemented by subclasses to actually provide a negotiator.
*
- * @param snd PCEP Session Negotiator dependencies
- * @param promise Session promise to be completed by the negotiator
- * @param channel Associated channel
- * @param sessionId Session ID assigned to the resulting session
+ * @param promise Session promise to be completed by the negotiator
+ * @param channel Associated channel
+ * @param sessionId Session ID assigned to the resulting session
+ * @param listenerFactory {@link PCEPSessionListenerFactory} to create listeners for clients
+ * @param peerProposal optional information used in our Open message
* @return a PCEP session negotiator
*/
- protected abstract AbstractPCEPSessionNegotiator createNegotiator(
- PCEPSessionNegotiatorFactoryDependencies snd,
- Promise<PCEPSession> promise,
- Channel channel, Uint8 sessionId);
+ protected abstract AbstractPCEPSessionNegotiator createNegotiator(Promise<PCEPSession> promise, Channel channel,
+ Uint8 sessionId, PCEPSessionListenerFactory listenerFactory, @Nullable PCEPPeerProposal peerProposal);
@Override
- public final SessionNegotiator getSessionNegotiator(final PCEPSessionNegotiatorFactoryDependencies dependencies,
- final Channel channel, final Promise<PCEPSession> promise) {
-
+ public final SessionNegotiator getSessionNegotiator(final Channel channel, final Promise<PCEPSession> promise,
+ final PCEPSessionListenerFactory listenerFactory, final PCEPPeerProposal peerProposal) {
LOG.debug("Instantiating bootstrap negotiator for channel {}", channel);
- return new BootstrapSessionNegotiator(channel, promise, dependencies);
+ return new BootstrapSessionNegotiator(channel, promise, listenerFactory, peerProposal);
}
private final class BootstrapSessionNegotiator extends AbstractSessionNegotiator {
private static final Comparator<byte[]> COMPARATOR = UnsignedBytes.lexicographicalComparator();
- private final PCEPSessionNegotiatorFactoryDependencies nfd;
+ private final @NonNull PCEPSessionListenerFactory listenerFactory;
+ private final @Nullable PCEPPeerProposal peerProposal;
BootstrapSessionNegotiator(final Channel channel, final Promise<PCEPSession> promise,
- final PCEPSessionNegotiatorFactoryDependencies dependencies) {
+ final PCEPSessionListenerFactory listenerFactory, final @Nullable PCEPPeerProposal peerProposal) {
super(promise, channel);
- nfd = dependencies;
+ this.listenerFactory = requireNonNull(listenerFactory);
+ this.peerProposal = peerProposal;
}
@Override
}
final Uint8 sessionId = sessionRegistry.nextSession(clientAddress);
- final AbstractPCEPSessionNegotiator n = createNegotiator(nfd, promise, channel, sessionId);
+ final var negotiator = createNegotiator(promise, channel, sessionId, listenerFactory, peerProposal);
sessionRegistry.putSessionReference(clientAddress, new SessionReference() {
@Override
});
LOG.info("Replacing bootstrap negotiator for channel {}", channel);
- channel.pipeline().replace(this, "negotiator", n);
- n.startNegotiation();
+ channel.pipeline().replace(this, "negotiator", negotiator);
+ negotiator.startNegotiation();
}
}
import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.protocol.pcep.PCEPCapability;
+import org.opendaylight.protocol.pcep.PCEPPeerProposal;
import org.opendaylight.protocol.pcep.PCEPSession;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
+import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
import org.opendaylight.protocol.pcep.PCEPTimerProposal;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.config.rev230112.PcepSessionTimers;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.config.rev230112.PcepSessionTls;
}
@Override
- protected AbstractPCEPSessionNegotiator createNegotiator(
- final PCEPSessionNegotiatorFactoryDependencies sessionNegotiatorDependencies,
- final Promise<PCEPSession> promise,
- final Channel channel,
- final Uint8 sessionId) {
+ protected AbstractPCEPSessionNegotiator createNegotiator(final Promise<PCEPSession> promise, final Channel channel,
+ final Uint8 sessionId, final PCEPSessionListenerFactory listenerFactory,
+ final PCEPPeerProposal peerProposal) {
final var address = (InetSocketAddress) channel.remoteAddress();
- final var peerProposal = sessionNegotiatorDependencies.getPeerProposal();
final var builder = new TlvsBuilder();
for (final var capability : capabilities) {
peerProposal.setPeerSpecificProposal(address, builder);
}
- return new DefaultPCEPSessionNegotiator(promise, channel,
- sessionNegotiatorDependencies.getListenerFactory().getSessionListener(), sessionId, new OpenBuilder()
+ return new DefaultPCEPSessionNegotiator(promise, channel, listenerFactory.getSessionListener(), sessionId,
+ new OpenBuilder()
.setSessionId(sessionId)
.setKeepalive(timers.keepAlive())
.setDeadTimer(timers.deadTimer())
import org.opendaylight.protocol.concepts.KeyMapping;
import org.opendaylight.protocol.pcep.MessageRegistry;
import org.opendaylight.protocol.pcep.PCEPDispatcher;
+import org.opendaylight.protocol.pcep.PCEPPeerProposal;
import org.opendaylight.protocol.pcep.PCEPSession;
+import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
@Override
public final synchronized ChannelFuture createServer(final InetSocketAddress listenAddress,
final KeyMapping tcpKeys, final MessageRegistry registry,
- final PCEPSessionNegotiatorFactory negotiatorFactory,
- final PCEPSessionNegotiatorFactoryDependencies negotiatorDependencies) {
+ final PCEPSessionNegotiatorFactory negotiatorFactory, final PCEPSessionListenerFactory listenerFactory,
+ final PCEPPeerProposal peerProposal) {
final var hf = new PCEPHandlerFactory(registry);
final ChannelPipelineInitializer initializer = (ch, promise) -> {
ch.pipeline().addLast(hf.getDecoders());
ch.pipeline().addLast("negotiator",
- negotiatorFactory.getSessionNegotiator(negotiatorDependencies, ch, promise));
+ negotiatorFactory.getSessionNegotiator(ch, promise, listenerFactory, peerProposal));
ch.pipeline().addLast(hf.getEncoders());
};
import org.opendaylight.protocol.pcep.PCEPSession;
import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
import org.opendaylight.protocol.pcep.PCEPTimerProposal;
import org.opendaylight.protocol.pcep.spi.pojo.DefaultPCEPExtensionConsumerContext;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
@Mock
private Channel mockChannel;
@Mock
- private PCEPSessionNegotiatorFactoryDependencies negotiatorDependencies;
- @Mock
private PCEPSessionListenerFactory listenerFactory;
private MessageRegistry msgReg;
dispatcher = new PCEPDispatcherImpl();
- doReturn(null).when(negotiatorDependencies).getPeerProposal();
-
final PCEPDispatcherImpl dispatcher2 = new PCEPDispatcherImpl();
disp2Spy = spy(dispatcher2);
final InetSocketAddress clientAddr1 = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress(port);
final InetSocketAddress clientAddr2 = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress(port);
- doReturn(listenerFactory).when(negotiatorDependencies).getListenerFactory();
doReturn(new SimpleSessionListener()).when(listenerFactory).getSessionListener();
final ChannelFuture futureChannel = dispatcher.createServer(serverAddr, KeyMapping.of(), msgReg,
- negotiatorFactory, negotiatorDependencies);
+ negotiatorFactory, listenerFactory, null);
futureChannel.sync();
try (var session1 = (PCEPSessionImpl) pccMock.createClient(clientAddr1,
final InetSocketAddress serverAddr = new InetSocketAddress("0.0.0.0", port);
final InetSocketAddress clientAddr = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress(port);
- doReturn(listenerFactory).when(negotiatorDependencies).getListenerFactory();
doReturn(new SimpleSessionListener()).when(listenerFactory).getSessionListener();
- dispatcher.createServer(serverAddr, KeyMapping.of(), msgReg, negotiatorFactory, negotiatorDependencies)
+ dispatcher.createServer(serverAddr, KeyMapping.of(), msgReg, negotiatorFactory, listenerFactory, null)
.sync();
final Future<PCEPSession> futureClient = pccMock.createClient(clientAddr, RETRY_TIMER, CONNECT_TIMEOUT,
SimpleSessionListener::new);
final int port = InetSocketAddressUtil.getRandomPort();
final InetSocketAddress clientAddr = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress(port);
- doReturn(listenerFactory).when(negotiatorDependencies).getListenerFactory();
doReturn(new SimpleSessionListener()).when(listenerFactory).getSessionListener();
dispatcher.createServer(new InetSocketAddress("0.0.0.0", port), KeyMapping.of(), msgReg, negotiatorFactory,
- negotiatorDependencies).sync();
+ listenerFactory, null).sync();
final PCEPSessionImpl session1 = (PCEPSessionImpl) pccMock.createClient(clientAddr,
RETRY_TIMER, CONNECT_TIMEOUT, SimpleSessionListener::new).get();
clientAddr2.getAddress(), "CLIENT2_ADDRESS"));
final ChannelFuture futureChannel = disp2Spy.createServer(new InetSocketAddress("0.0.0.0", port),
- keys, msgReg, negotiatorFactory, negotiatorDependencies).sync();
+ keys, msgReg, negotiatorFactory, null, null).sync();
verify(disp2Spy).createServerBootstrap(any(PCEPDispatcherImpl.ChannelPipelineInitializer.class), same(keys));
}
final int connectTimeout, final PCEPSessionListenerFactory listenerFactory) {
return createClient(address, retryTimer, connectTimeout, (ch, promise) -> {
ch.pipeline().addLast(factory.getDecoders());
- ch.pipeline().addLast("negotiator", negotiatorFactory.getSessionNegotiator(
- () -> listenerFactory, ch, promise));
+ ch.pipeline().addLast("negotiator", negotiatorFactory.getSessionNegotiator(ch, promise, listenerFactory,
+ null));
ch.pipeline().addLast(factory.getEncoders());
});
}
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.protocol.concepts.KeyMapping;
import org.opendaylight.protocol.pcep.MessageRegistry;
-import org.opendaylight.protocol.pcep.PCEPPeerProposal;
import org.opendaylight.protocol.pcep.PCEPSession;
import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
import org.opendaylight.protocol.pcep.impl.PCEPHandlerFactory;
import org.opendaylight.protocol.pcep.pcc.mock.api.PCCDispatcher;
import org.opendaylight.yangtools.yang.common.Uint64;
@Override
protected void initChannel(final SocketChannel ch) {
ch.pipeline().addLast(factory.getDecoders());
- ch.pipeline().addLast("negotiator", negotiatorFactory.getSessionNegotiator(
- new PCEPSessionNegotiatorFactoryDependencies() {
- @Override
- public PCEPSessionListenerFactory getListenerFactory() {
- return listenerFactory;
- }
-
- @Override
- public PCEPPeerProposal getPeerProposal() {
- return new PCCPeerProposal(dbVersion);
- }
- }, ch, promise));
+ ch.pipeline().addLast("negotiator", negotiatorFactory.getSessionNegotiator(ch, promise, listenerFactory,
+ new PCCPeerProposal(dbVersion)));
ch.pipeline().addLast(factory.getEncoders());
ch.pipeline().addLast(new ChannelInboundHandlerAdapter() {
@Override
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.doReturn;
import static org.opendaylight.protocol.pcep.pcc.mock.PCCMockCommon.checkSessionListenerNotNull;
import io.netty.channel.Channel;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.protocol.concepts.KeyMapping;
import org.opendaylight.protocol.pcep.MessageRegistry;
import org.opendaylight.protocol.pcep.PCEPSession;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
import org.opendaylight.protocol.pcep.PCEPTimerProposal;
import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
import org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl;
private InetSocketAddress clientAddress;
private MessageRegistry registry;
- @Mock
- PCEPSessionNegotiatorFactoryDependencies negotiatorDependencies;
-
@Before
public void setUp() {
registry = new DefaultPCEPExtensionConsumerContext().getMessageHandlerRegistry();
pcepDispatcher = new PCEPDispatcherImpl();
serverAddress = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress();
clientAddress = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress(0);
- doReturn(null).when(negotiatorDependencies).getPeerProposal();
}
@After
final Future<PCEPSession> futureSession = dispatcher.createClient(serverAddress, 1,
new TestingSessionListenerFactory(), nf, KeyMapping.of(), clientAddress);
final TestingSessionListenerFactory slf = new TestingSessionListenerFactory();
- doReturn(slf).when(negotiatorDependencies).getListenerFactory();
final ChannelFuture futureServer = pcepDispatcher.createServer(serverAddress, KeyMapping.of(), registry, nf,
- negotiatorDependencies);
+ slf, null);
futureServer.sync();
final Channel channel = futureServer.channel();
assertNotNull(futureSession.get());
pcepDispatcher = new PCEPDispatcherImpl();
final TestingSessionListenerFactory slf2 = new TestingSessionListenerFactory();
- doReturn(slf2).when(negotiatorDependencies).getListenerFactory();
final ChannelFuture future2 = pcepDispatcher.createServer(serverAddress, KeyMapping.of(), registry, nf,
- negotiatorDependencies);
+ slf2, null);
future2.sync();
final Channel channel2 = future2.channel();
final TestingSessionListener sl2 = checkSessionListenerNotNull(slf2,
import org.opendaylight.protocol.pcep.PCEPCapability;
import org.opendaylight.protocol.pcep.PCEPPeerProposal;
import org.opendaylight.protocol.pcep.PCEPSession;
-import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
import org.opendaylight.protocol.pcep.PCEPTimerProposal;
import org.opendaylight.protocol.pcep.ietf.stateful.StatefulActivator;
import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
optimizationsActivator.start(extensionProvider);
final ChannelFuture future = pceDispatcher.createServer(serverAddress2, KeyMapping.of(), messageRegistry,
- negotiatorFactory, new NegotiatorDependencies(factory, peerProposal));
+ negotiatorFactory, factory, peerProposal);
waitFutureSuccess(future);
return future.channel();
}
TestingSessionListener getListener(final TestingSessionListenerFactory factory) {
return checkSessionListenerNotNull(factory, localAddress.getHostString());
}
-
- private static class NegotiatorDependencies implements PCEPSessionNegotiatorFactoryDependencies {
- private final TestingSessionListenerFactory listenerFactory;
- private final PCEPPeerProposal peerProposal;
-
- NegotiatorDependencies(final TestingSessionListenerFactory listenerFactory,
- final PCEPPeerProposal peerProposal) {
- this.listenerFactory = listenerFactory;
- this.peerProposal = peerProposal;
- }
-
- @Override
- public PCEPSessionListenerFactory getListenerFactory() {
- return listenerFactory;
- }
-
- @Override
- public PCEPPeerProposal getPeerProposal() {
- return peerProposal;
- }
- }
}
dispatcher.createServer(address, KeyMapping.of(), handlerRegistry,
new DefaultPCEPSessionNegotiatorFactory(new PCEPTimerProposal(keepAliveValue, deadTimerValue),
List.of(new PCEPStatefulCapability(stateful, active, instant, false, false, false, false)),
- maxUnknownMessages, null), new TestToolPCEPNegotiatorDependencies()).get();
+ maxUnknownMessages, null), new TestingSessionListenerFactory(), null).get();
}
}
+++ /dev/null
-/*
- * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * 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.protocol.pcep.testtool;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
-
-public final class TestToolPCEPNegotiatorDependencies implements PCEPSessionNegotiatorFactoryDependencies {
- private final @NonNull PCEPSessionListenerFactory listenerFactory = new TestingSessionListenerFactory();
-
- @Override
- public PCEPSessionListenerFactory getListenerFactory() {
- return listenerFactory;
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * 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.bgpcep.pcep.topology.provider;
-
-import static java.util.Objects.requireNonNull;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.protocol.pcep.PCEPPeerProposal;
-import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
-
-final class PCEPSessionNegotiatorFactoryDependenciesImpl implements PCEPSessionNegotiatorFactoryDependencies {
- private final @NonNull PCEPSessionListenerFactory listenerFactory;
- private final @NonNull PCEPPeerProposal peerProposal;
-
- PCEPSessionNegotiatorFactoryDependenciesImpl(final PCEPSessionListenerFactory listenerFactory,
- final PCEPPeerProposal peerProposal) {
- this.listenerFactory = requireNonNull(listenerFactory);
- this.peerProposal = requireNonNull(peerProposal);
- }
-
- @Override
- public PCEPSessionListenerFactory getListenerFactory() {
- return listenerFactory;
- }
-
- @Override
- public PCEPPeerProposal getPeerProposal() {
- return peerProposal;
- }
-}
final var channelFuture = dependencies.getPCEPDispatcher().createServer(currentConfig.getAddress(),
currentConfig.getKeys(), dependencies.getMessageRegistry(),
new DefaultPCEPSessionNegotiatorFactory(currentConfig.getTimerProposal(), dependencies.getCapabilities(),
- currentConfig.getMaxUnknownMessages(), currentConfig.getTls()),
- new PCEPSessionNegotiatorFactoryDependenciesImpl(manager, proposal));
+ currentConfig.getMaxUnknownMessages(), currentConfig.getTls()), manager, proposal);
channelFuture.addListener(ignored -> enableRPCs(future, channelFuture));
}