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 PCEPSessionImpl
createSession(io.netty.channel.Channel channel, Open localPrefs, Open remotePrefs)
Create the protocol session.protected Open
getCounterProposal(Open open)
Given a peer-provided session parameters proposal which we found unacceptable, provide a counter-proposal.protected Open
getInitialProposal()
Get the initial session parameters proposal.protected Open
getRevisedProposal(Open suggestion)
Get the revised session parameters proposal based on the feedback the peer has provided to us.protected boolean
isProposalAcceptable(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:AbstractPCEPSessionNegotiator
Get the initial session parameters proposal.- Specified by:
getInitialProposal
in classAbstractPCEPSessionNegotiator
- Returns:
- Session parameters proposal.
-
createSession
public PCEPSessionImpl createSession(io.netty.channel.Channel channel, Open localPrefs, Open remotePrefs)
Description copied from class:AbstractPCEPSessionNegotiator
Create the protocol session.- Specified by:
createSession
in 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:AbstractPCEPSessionNegotiator
Check whether a peer-provided session parameters proposal is acceptable.- Specified by:
isProposalAcceptable
in 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:AbstractPCEPSessionNegotiator
Given 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:
getCounterProposal
in 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:AbstractPCEPSessionNegotiator
Get the revised session parameters proposal based on the feedback the peer has provided to us.- Specified by:
getRevisedProposal
in classAbstractPCEPSessionNegotiator
- Parameters:
suggestion
- Peer-provided suggested session parameters- Returns:
- Session parameters proposal, or null if peers session parameters preclude us from suggesting anything
-
-