Class DefaultPCEPSessionNegotiator
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- org.opendaylight.protocol.pcep.impl.AbstractSessionNegotiator
-
- org.opendaylight.protocol.pcep.impl.AbstractPCEPSessionNegotiator
-
- org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiator
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler,SessionNegotiator
public final class DefaultPCEPSessionNegotiator extends AbstractPCEPSessionNegotiator
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.opendaylight.protocol.pcep.impl.AbstractPCEPSessionNegotiator
AbstractPCEPSessionNegotiator.State
-
-
Field Summary
-
Fields inherited from class org.opendaylight.protocol.pcep.impl.AbstractPCEPSessionNegotiator
FAIL_TIMER_VALUE
-
Fields inherited from class org.opendaylight.protocol.pcep.impl.AbstractSessionNegotiator
channel, promise
-
-
Constructor Summary
Constructors Constructor Description DefaultPCEPSessionNegotiator(io.netty.util.concurrent.Promise<PCEPSessionImpl> promise, io.netty.channel.Channel channel, PCEPSessionListener listener, short sessionId, int maxUnknownMessages, Open localPrefs)DefaultPCEPSessionNegotiator(io.netty.util.concurrent.Promise<PCEPSessionImpl> promise, io.netty.channel.Channel channel, PCEPSessionListener listener, short sessionId, int maxUnknownMessages, Open localPrefs, Tls tlsConfiguration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PCEPSessionImplcreateSession(io.netty.channel.Channel channel, Open localPrefs, Open remotePrefs)Create the protocol session.protected OpengetCounterProposal(Open open)Given a peer-provided session parameters proposal which we found unacceptable, provide a counter-proposal.protected OpengetInitialProposal()Get the initial session parameters proposal.protected OpengetRevisedProposal(Open suggestion)Get the revised session parameters proposal based on the feedback the peer has provided to us.protected booleanisProposalAcceptable(Open open)Check whether a peer-provided session parameters proposal is acceptable.-
Methods inherited from class org.opendaylight.protocol.pcep.impl.AbstractPCEPSessionNegotiator
handleMessage, negotiationFailed, setTlsConfiguration, startNegotiation
-
Methods inherited from class org.opendaylight.protocol.pcep.impl.AbstractSessionNegotiator
channelActive, channelRead, exceptionCaught, negotiationSuccessful, sendMessage
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
-
-
-
Constructor Detail
-
DefaultPCEPSessionNegotiator
public DefaultPCEPSessionNegotiator(io.netty.util.concurrent.Promise<PCEPSessionImpl> promise, io.netty.channel.Channel channel, PCEPSessionListener listener, short sessionId, int maxUnknownMessages, Open localPrefs, Tls tlsConfiguration)
-
DefaultPCEPSessionNegotiator
public DefaultPCEPSessionNegotiator(io.netty.util.concurrent.Promise<PCEPSessionImpl> promise, io.netty.channel.Channel channel, PCEPSessionListener listener, short sessionId, int maxUnknownMessages, Open localPrefs)
-
-
Method Detail
-
getInitialProposal
protected Open getInitialProposal()
Description copied from class:AbstractPCEPSessionNegotiatorGet the initial session parameters proposal.- Specified by:
getInitialProposalin classAbstractPCEPSessionNegotiator- Returns:
- Session parameters proposal.
-
createSession
public PCEPSessionImpl createSession(io.netty.channel.Channel channel, Open localPrefs, Open remotePrefs)
Description copied from class:AbstractPCEPSessionNegotiatorCreate the protocol session.- Specified by:
createSessionin classAbstractPCEPSessionNegotiator- Parameters:
channel- Underlying channel.localPrefs- Session preferences proposed by us and accepted by the peer.remotePrefs- Session preferences proposed by the peer and accepted by us.- Returns:
- New protocol session.
-
isProposalAcceptable
protected boolean isProposalAcceptable(Open open)
Description copied from class:AbstractPCEPSessionNegotiatorCheck whether a peer-provided session parameters proposal is acceptable.- Specified by:
isProposalAcceptablein classAbstractPCEPSessionNegotiator- Parameters:
open- peer-proposed session parameters- Returns:
- true if the proposal is acceptable, false otherwise
-
getCounterProposal
protected Open getCounterProposal(Open open)
Description copied from class:AbstractPCEPSessionNegotiatorGiven a peer-provided session parameters proposal which we found unacceptable, provide a counter-proposal. The requirement is that the isProposalAcceptable() method has to return true when presented with this proposal.- Specified by:
getCounterProposalin classAbstractPCEPSessionNegotiator- Parameters:
open- unacceptable peer proposal- Returns:
- our counter-proposal, or null if there is no way to negotiate an acceptable proposal
-
getRevisedProposal
protected Open getRevisedProposal(Open suggestion)
Description copied from class:AbstractPCEPSessionNegotiatorGet the revised session parameters proposal based on the feedback the peer has provided to us.- Specified by:
getRevisedProposalin classAbstractPCEPSessionNegotiator- Parameters:
suggestion- Peer-provided suggested session parameters- Returns:
- Session parameters proposal, or null if peers session parameters preclude us from suggesting anything
-
-