Class NAKACK4

    • Field Detail

      • ack_table

        protected final AckTable ack_table
      • capacity

        protected int capacity
      • send_atomically

        protected boolean send_atomically
      • acks_received

        protected final java.util.concurrent.atomic.LongAdder acks_received
    • Constructor Detail

      • NAKACK4

        public NAKACK4()
    • Method Detail

      • capacity

        protected int capacity()
      • capacity

        protected NAKACK4 capacity​(int c)
      • sendAtomically

        protected boolean sendAtomically()
      • sendAtomically

        protected NAKACK4 sendAtomically​(boolean f)
      • getNumBlockings

        public long getNumBlockings()
      • printAckTable

        public java.lang.String printAckTable()
      • adjustReceivers

        protected void adjustReceivers​(java.util.List<Address> members)
        Description copied from class: ReliableMulticast
        Removes old members from xmit-table and adds new members to xmit-table (at seqnos hd=0, hr=0). This method is not called concurrently
        Overrides:
        adjustReceivers in class ReliableMulticast
      • stable

        protected void stable​(Digest digest)
        Description copied from class: ReliableMulticast
        Garbage collect messages that have been seen by all members. Update sent_msgs: for the sender P in the digest which is equal to the local address, garbage collect all messages <= seqno at digest[P]. Update xmit_table: for each sender P in the digest and its highest seqno seen SEQ, garbage collect all delivered_msgs in the retransmit buffer corresponding to P which are <= seqno at digest[P].
        Overrides:
        stable in class ReliableMulticast
      • send

        protected void send​(Message msg,
                            Buffer<Message> win)
        Description copied from class: ReliableMulticast
        Adds the message to the sent_msgs table and then passes it down the stack. Change Bela Ban May 26 2002: we don't store a copy of the message, but a reference ! This saves us a lot of memory. However, this also means that a message should not be changed after storing it in the sent-table ! See protocols/DESIGN for details. Made seqno increment and adding to sent_msgs atomic, e.g. seqno won't get incremented if adding to sent_msgs fails e.g. due to an OOM (see https://issues.redhat.com/browse/JGRP-179). bela Jan 13 2006
        Overrides:
        send in class ReliableMulticast