public boolean sendKeepAlive()
    {
        idleStrategy.reset();
        int attempts = SEND_ATTEMPTS;

        while (true)
        {
            final long result = publication.offer(keepaliveMsgBuffer, 0, keepaliveMsgBuffer.capacity(), null);
            if (result > 0)
            {
                return true;
            }

            if (result == Publication.NOT_CONNECTED || result == Publication.CLOSED)
            {
                return false;
            }

            if (result == Publication.MAX_POSITION_EXCEEDED)
            {
                throw new ClusterException("unexpected publication state: " + result);
            }

            if (--attempts <= 0)
            {
                break;
            }

            idleStrategy.idle();
        }

        return false;
    }
public boolean sendKeepAlive()
    {
        idleStrategy.reset();
        int attempts = SEND_ATTEMPTS;

        while (true)
        {
            final long result = publication.offer(keepaliveMsgBuffer, 0, keepaliveMsgBuffer.capacity(), null);
            if (result > 0)
            {
                return true;
            }

            if (result == Publication.NOT_CONNECTED || result == Publication.CLOSED)
            {
                return false;
            }

            if (result == Publication.MAX_POSITION_EXCEEDED)
            {
                throw new ClusterException("unexpected publication state: " + result);
            }

            if (--attempts <= 0)
            {
                break;
            }

            idleStrategy.idle();
        }

        return false;
    }
public boolean sendKeepAlive ( ) { idleStrategy . reset ( ) ; int attempts = SEND_ATTEMPTS ; while ( true ) { final long result = publication . offer ( keepaliveMsgBuffer , 0 , keepaliveMsgBuffer . capacity ( ) , null ) ; if ( result > 0 ) { return true ; } if ( result == Publication . NOT_CONNECTED || result == Publication . CLOSED ) { return false ; } if ( result == Publication . MAX_POSITION_EXCEEDED ) { throw new ClusterException ( "unexpected publication state: " + result ) ; } if ( -- attempts <= 0 ) { break ; } idleStrategy . idle ( ) ; } return false ; }
Send a keep alive message to the cluster to keep this session open.
<p>
<b>Note:</b> keepalives can fail during a leadership transition. The consumer should continue to call
{@link #pollEgress()} to ensure a connection to the new leader is established.

@return true if successfully sent otherwise false.
Send a keep alive message to the cluster to keep this session open . <p > <b > Note : < / b > keepalives can fail during a leadership transition . The consumer should continue to call { @link #pollEgress () } to ensure a connection to the new leader is established .