public void suspend() { next.suspend(); } }
public void setReceiveBuffer(long receiveBuffer) { getDispatchQueue().assertExecuting(); long prev = this.receiveBuffer; this.receiveBuffer = receiveBuffer; long diff = prev-receiveBuffer; receiveBufferRemaining -= diff; if( !receiveBufferFull && receiveBufferRemaining <=0 ) { receiveBufferFull = true; suspend(); } else if( receiveBufferFull && receiveBufferRemaining >0 ) { receiveBufferFull = false; resume(); } }
public void onPublish(UTF8Buffer topic, final Buffer payload, final Callback<Callback<Void>> onComplete) { getDispatchQueue().assertExecuting(); receiveBufferRemaining -= payload.length(); if( !receiveBufferFull && receiveBufferRemaining <=0 ) { receiveBufferFull = true; suspend(); } deliverMessage(new Message(getDispatchQueue(), topic, payload, new Callback<Callback<Void>>() { public void onSuccess(Callback<Void> value) { processed(); onComplete.onSuccess(value); } public void onFailure(Throwable value) { processed(); onComplete.onFailure(value); } private void processed() { getDispatchQueue().assertExecuting(); receiveBufferRemaining += payload.length(); if( receiveBufferFull && receiveBufferRemaining >0 ) { receiveBufferFull = false; resume(); } } })); }
public void suspend() { next.suspend(); } }
public void setReceiveBuffer(long receiveBuffer) { getDispatchQueue().assertExecuting(); long prev = this.receiveBuffer; this.receiveBuffer = receiveBuffer; long diff = prev-receiveBuffer; receiveBufferRemaining -= diff; if( !receiveBufferFull && receiveBufferRemaining <=0 ) { receiveBufferFull = true; suspend(); } else if( receiveBufferFull && receiveBufferRemaining >0 ) { receiveBufferFull = false; resume(); } }
public void onPublish(UTF8Buffer topic, final Buffer payload, final Callback<Callback<Void>> onComplete) { getDispatchQueue().assertExecuting(); receiveBufferRemaining -= payload.length(); if( !receiveBufferFull && receiveBufferRemaining <=0 ) { receiveBufferFull = true; suspend(); } deliverMessage(new Message(getDispatchQueue(), topic, payload, new Callback<Callback<Void>>() { public void onSuccess(Callback<Void> value) { processed(); onComplete.onSuccess(value); } public void onFailure(Throwable value) { processed(); onComplete.onFailure(value); } private void processed() { getDispatchQueue().assertExecuting(); receiveBufferRemaining += payload.length(); if( receiveBufferFull && receiveBufferRemaining >0 ) { receiveBufferFull = false; resume(); } } })); }