Class AbstractPCEPSessionNegotiator

  • All Implemented Interfaces:,, SessionNegotiator
    Direct Known Subclasses:

    public abstract class AbstractPCEPSessionNegotiator
    extends AbstractSessionNegotiator
    Abstract PCEP session negotiator. Takes care of basic handshake without implementing a specific policy. Policies need to be provided by a specific subclass.
    • Field Detail


        public static final int FAIL_TIMER_VALUE
        Unified KeepWait and OpenWait timer expiration, in seconds.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AbstractPCEPSessionNegotiator

        protected AbstractPCEPSessionNegotiator​(io.netty.util.concurrent.Promise<PCEPSessionImpl> promise,
    • Method Detail

      • getInitialProposal

        protected abstract Open getInitialProposal()
        Get the initial session parameters proposal.
        Session parameters proposal.
      • getRevisedProposal

        protected abstract Open getRevisedProposal​(Open suggestion)
        Get the revised session parameters proposal based on the feedback the peer has provided to us.
        suggestion - Peer-provided suggested session parameters
        Session parameters proposal, or null if peers session parameters preclude us from suggesting anything
      • isProposalAcceptable

        protected abstract boolean isProposalAcceptable​(Open proposal)
        Check whether a peer-provided session parameters proposal is acceptable.
        proposal - peer-proposed session parameters
        true if the proposal is acceptable, false otherwise
      • getCounterProposal

        protected abstract Open getCounterProposal​(Open proposal)
        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.
        proposal - unacceptable peer proposal
        our counter-proposal, or null if there is no way to negotiate an acceptable proposal
      • createSession

        protected abstract PCEPSessionImpl createSession​( channel,
                                                         Open localPrefs,
                                                         Open remotePrefs)
        Create the protocol session.
        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.
        New protocol session.
      • setTlsConfiguration

        public void setTlsConfiguration​(Tls tlsConfiguration)