Class PeerState

java.lang.Object
com.bea.wcp.diameter.State
com.bea.wcp.diameter.PeerState

public class PeerState extends State
Diameter peer state machine.
Author:
Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- Closed Start* I-Snd-Conn-Req Wait-Conn-Ack R-Conn-CER R-Accept, R-Open Process-CER, R-Snd-CEA
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- Closing I-Rcv-DPA I-Disc Closed R-Rcv-DPA R-Disc Closed Timeout Error Closed I-Peer-Disc I-Disc Closed R-Peer-Disc R-Disc Closed
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- I-Handshake I-Rcv-Hnd-Ack I-Open I-Rcv-Hnd-Nack Cleanup Closed Timeout Error Closed
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- I-Open Send-Message* I-Snd-Message I-Open I-Rcv-Message Process I-Open I-Rcv-DWR Process-DWR, I-Open I-Snd-DWA I-Rcv-DWA Process-DWA I-Open R-Conn-CER R-Reject I-Open Stop* I-Snd-DPR Closing I-Rcv-DPR I-Snd-DPA, Closed I-Disc I-Peer-Disc I-Disc Closed I-Rcv-CER I-Snd-CEA I-Open I-Rcv-CEA Process-CEA I-Open
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- R-Handshake I-Rcv-Hnd-Ack R-Open I-Rcv-Hnd-Nack Cleanup Closed Timeout Error Closed
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- R-Open Send-Message* R-Snd-Message R-Open R-Rcv-Message Process R-Open R-Rcv-DWR Process-DWR, R-Open R-Snd-DWA R-Rcv-DWA Process-DWA R-Open R-Conn-CER R-Reject R-Open Stop* R-Snd-DPR Closing R-Rcv-DPR R-Snd-DPA, Closed R-Disc R-Peer-Disc R-Disc Closed R-Rcv-CER R-Snd-CEA R-Open R-Rcv-CEA Process-CEA R-Open
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- Wait-Conn-Ack I-Rcv-Conn-Ack I-Snd-CER Wait-I-CEA I-Rcv-Conn-Nack Cleanup Closed R-Conn-CER R-Accept, Wait-Conn-Ack/ Process-CER Elect Timeout Error Closed
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- Wait-Conn-Ack/ I-Rcv-Conn-Ack I-Snd-CER,Elect Wait-Returns* Elect I-Rcv-Conn-Nack R-Snd-CEA R-Open R-Peer-Disc R-Disc Wait-Conn-Ack R-Conn-CER R-Reject Wait-Conn-Ack/ Elect Timeout Error Closed
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- Wait-I-CEA I-Rcv-CEA Process-CEA I-Open R-Conn-CER R-Accept, Wait-Returns Process-CER, Elect I-Peer-Disc I-Disc Closed I-Rcv-Non-CEA Error Closed Timeout Error Closed
    static final PeerState
    STATE EVENT ACTION NEXT STATE ----------------------------------------------------------------- Wait-Returns Win-Election* I-Disc,R-Snd-CEA R-Open I-Peer-Disc I-Disc, R-Open R-Snd-CEA I-Rcv-CEA R-Disc I-Open R-Peer-Disc R-Disc Wait-I-CEA R-Conn-CER R-Reject Wait-Returns Timeout Error Closed
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    void
     
    void
     
    void
    rcvConnAck(Peer p, com.bea.wcp.diameter.transport.Connection c)
     
    void
     
    void
     
    void
     
    void
     

    Methods inherited from class com.bea.wcp.diameter.State

    toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • CLOSED

      public static final PeerState CLOSED
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       Closed           Start*           I-Snd-Conn-Req   Wait-Conn-Ack
                        R-Conn-CER       R-Accept,        R-Open
                                         Process-CER,
                                         R-Snd-CEA
       
    • WAIT_CONN_ACK

      public static final PeerState WAIT_CONN_ACK
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       Wait-Conn-Ack    I-Rcv-Conn-Ack   I-Snd-CER        Wait-I-CEA
                        I-Rcv-Conn-Nack  Cleanup          Closed
                        R-Conn-CER       R-Accept,        Wait-Conn-Ack/
                                         Process-CER      Elect
                        Timeout          Error            Closed
       
    • WAIT_I_CEA

      public static final PeerState WAIT_I_CEA
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       Wait-I-CEA       I-Rcv-CEA        Process-CEA      I-Open
                        R-Conn-CER       R-Accept,        Wait-Returns
                                         Process-CER,
                                         Elect
                        I-Peer-Disc      I-Disc           Closed
                        I-Rcv-Non-CEA    Error            Closed
                        Timeout          Error            Closed
       
    • WAIT_CONN_ACK_ELECT

      public static final PeerState WAIT_CONN_ACK_ELECT
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       Wait-Conn-Ack/   I-Rcv-Conn-Ack   I-Snd-CER,Elect  Wait-Returns*
       Elect            I-Rcv-Conn-Nack  R-Snd-CEA        R-Open
                        R-Peer-Disc      R-Disc           Wait-Conn-Ack
                        R-Conn-CER       R-Reject         Wait-Conn-Ack/
                                                          Elect
                        Timeout          Error            Closed
       
      (*) NOTE: Wait-Returns->Win-Election handled directly by peer
    • WAIT_RETURNS

      public static final PeerState WAIT_RETURNS
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       Wait-Returns     Win-Election*    I-Disc,R-Snd-CEA R-Open
                        I-Peer-Disc      I-Disc,          R-Open
                                         R-Snd-CEA
                        I-Rcv-CEA        R-Disc           I-Open
                        R-Peer-Disc      R-Disc           Wait-I-CEA
                        R-Conn-CER       R-Reject         Wait-Returns
                        Timeout          Error            Closed
       
      (*) NOTE: Win-Election handled in Wait-Conn-Ack/Elect
    • R_HANDSHAKE

      public static final PeerState R_HANDSHAKE
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       R-Handshake      I-Rcv-Hnd-Ack                     R-Open
                        I-Rcv-Hnd-Nack   Cleanup          Closed
                        Timeout          Error            Closed
       
    • I_HANDSHAKE

      public static final PeerState I_HANDSHAKE
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       I-Handshake      I-Rcv-Hnd-Ack                     I-Open
                        I-Rcv-Hnd-Nack   Cleanup          Closed
                        Timeout          Error            Closed
       
    • R_OPEN

      public static final PeerState R_OPEN
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       R-Open           Send-Message*    R-Snd-Message    R-Open
                        R-Rcv-Message    Process          R-Open
                        R-Rcv-DWR        Process-DWR,     R-Open
                                         R-Snd-DWA
                        R-Rcv-DWA        Process-DWA      R-Open
                        R-Conn-CER       R-Reject         R-Open
                        Stop*            R-Snd-DPR        Closing
                        R-Rcv-DPR        R-Snd-DPA,       Closed
                                         R-Disc
                        R-Peer-Disc      R-Disc           Closed
                        R-Rcv-CER        R-Snd-CEA        R-Open
                        R-Rcv-CEA        Process-CEA      R-Open
       
      NOTE: The handling for R-Rcv-DPR is incorrect. According to RFC 3588 the peer who receives the DPA should disconnect the transport connection, not the recepient of the DPR.
      NOTE: (*) Action handled directly by peer
    • I_OPEN

      public static final PeerState I_OPEN
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       I-Open           Send-Message*    I-Snd-Message    I-Open
                        I-Rcv-Message    Process          I-Open
                        I-Rcv-DWR        Process-DWR,     I-Open
                                         I-Snd-DWA
                        I-Rcv-DWA        Process-DWA      I-Open
                        R-Conn-CER       R-Reject         I-Open
                        Stop*            I-Snd-DPR        Closing
                        I-Rcv-DPR        I-Snd-DPA,       Closed
                                         I-Disc
                        I-Peer-Disc      I-Disc           Closed
                        I-Rcv-CER        I-Snd-CEA        I-Open
                        I-Rcv-CEA        Process-CEA      I-Open
       
      NOTE: The handling for I-Rcv-DPR is incorrect. According to RFC 3588 the peer who receives the DPA should disconnect the transport connection, not the recepient of the DPR.
      NOTE: (*) Action handled directly by peer
    • CLOSING

      public static final PeerState CLOSING
       STATE            EVENT            ACTION           NEXT STATE
       -----------------------------------------------------------------
       Closing          I-Rcv-DPA        I-Disc           Closed
                        R-Rcv-DPA        R-Disc           Closed
                        Timeout          Error            Closed
                        I-Peer-Disc      I-Disc           Closed
                        R-Peer-Disc      R-Disc           Closed
       
  • Constructor Details

    • PeerState

      public PeerState(String name)
  • Method Details