Class NAKACK3

  • All Implemented Interfaces:
    Lifecycle, DiagnosticsHandler.ProbeHandler

    public class NAKACK3
    extends ReliableMulticast
    Negative AcKnowledgement layer (NAKs). Messages are assigned a monotonically increasing sequence number (seqno). Receivers deliver messages ordered according to seqno and request retransmission of missing messages.
    Retransmit requests are usually sent to the original sender of a message, but this can be changed by xmit_from_random_member (send to random member) or use_mcast_xmit_req (send to everyone). Responses can also be sent to everyone instead of the requester by setting use_mcast_xmit to true.
    Since:
    5.4
    Author:
    Bela Ban
    • Field Detail

      • xmit_table_num_rows

        protected int xmit_table_num_rows
      • xmit_table_msgs_per_row

        protected int xmit_table_msgs_per_row
      • xmit_table_resize_factor

        protected double xmit_table_resize_factor
      • xmit_table_max_compaction_time

        protected long xmit_table_max_compaction_time
    • Constructor Detail

      • NAKACK3

        public NAKACK3()
    • Method Detail

      • getXmitTableNumRows

        public int getXmitTableNumRows()
      • getXmitTableMsgsPerRow

        public int getXmitTableMsgsPerRow()
      • setXmitTableMsgsPerRow

        public ReliableMulticast setXmitTableMsgsPerRow​(int x)
      • getXmitTableResizeFactor

        public double getXmitTableResizeFactor()
      • setXmitTableResizeFactor

        public ReliableMulticast setXmitTableResizeFactor​(double x)
      • getXmitTableMaxCompactionTime

        public long getXmitTableMaxCompactionTime()
      • setXmitTableMaxCompactionTime

        public ReliableMulticast setXmitTableMaxCompactionTime​(long x)
      • getXmitTableNumCurrentRows

        public int getXmitTableNumCurrentRows()
      • getXmitTableNumCompactions

        public int getXmitTableNumCompactions()
      • getXmitTableNumMoves

        public int getXmitTableNumMoves()
      • getXmitTableNumResizes

        public int getXmitTableNumResizes()
      • getXmitTableNumPurges

        public int getXmitTableNumPurges()
      • compact

        public void compact()
      • dumpXmitTablesNumCurrentRows

        public java.lang.String dumpXmitTablesNumCurrentRows()
      • init

        public void init()
                  throws java.lang.Exception
        Description copied from class: Protocol
        Called after a protocol has been created and before the protocol is started. Attributes are already set. Other protocols are not yet connected and events cannot yet be sent.
        Specified by:
        init in interface Lifecycle
        Overrides:
        init in class ReliableMulticast
        Throws:
        java.lang.Exception - Thrown if protocol cannot be initialized successfully. This will cause the ProtocolStack to fail, so the the channel constructor will throw an exception