2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.protocol.pcep;
10 import java.net.InetSocketAddress;
11 import java.util.List;
12 import javax.annotation.Nonnull;
13 import javax.annotation.Nullable;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.Open;
17 * Factory for generating PCEP Session proposals. Used by a server.
19 public interface PCEPSessionProposalFactory {
21 * @param address serves as constraint, so that factory is able to return different proposals for different
23 * @param sessionId is used for creation of PCEPOpenObject
24 * @param peerProposal for including information from peer to our Open message
25 * @return specific session proposal
28 Open getSessionProposal(@Nonnull InetSocketAddress address, int sessionId, @Nullable PCEPPeerProposal peerProposal);
31 * Returns list containing PCEP Capabilities
33 * @return PCEPCapabilities
36 List<PCEPCapability> getCapabilities();