Code example for AtomicLong

Methods: addAndGet, get

0
        _bytesCredit.set(0L);
    } 
 
    public boolean hasCredit() 
    { 
        return _bytesCredit.get() > 0L;
    } 
 
    public boolean useCreditForMessage(ServerMessage msg)
    { 
        final long msgSize = msg.getSize();
        if(hasCredit()) 
        { 
            if(_bytesCredit.addAndGet(-msgSize) >= 0)
            { 
                return true; 
            } 
            else 
            { 
                _bytesCredit.addAndGet(msgSize);
                setSuspended(true); 
                return false; 
            } 
        } 
        else