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 * Creates Open with session proposal.
23 * @param address serves as constraint, so that factory is able to return different proposals for different
25 * @param sessionId is used for creation of PCEPOpenObject
26 * @param peerProposal for including information from peer to our Open message
27 * @return specific session proposal
30 Open getSessionProposal(@Nonnull InetSocketAddress address, int sessionId, @Nullable PCEPPeerProposal peerProposal);
33 * Returns list containing PCEP Capabilities.
35 * @return PCEPCapabilities
38 List<PCEPCapability> getCapabilities();