public class SizeBasedMessageBuffer extends Object implements MessageBuffer
MessageBuffer
which evicts from the largest buffers first.Constructor and Description |
---|
SizeBasedMessageBuffer() |
SizeBasedMessageBuffer(int limit) |
Modifier and Type | Method and Description |
---|---|
protected void |
bubbleDown(MessageQueue biggest,
int position) |
protected void |
bubbleUp(MessageQueue queue,
int queueSize) |
void |
clear() |
MessageQueue |
createMessageQueue()
Creates a new message queue instance
|
int |
getSize() |
void |
onSizeChanged(MessageQueue queue,
int delta,
int queueSize)
After a message queue has changed we may need to perform some evictions
|
protected void |
swap(int firstPosition,
MessageQueue first,
int secondPosition,
MessageQueue second) |
public SizeBasedMessageBuffer()
public SizeBasedMessageBuffer(int limit)
public int getSize()
getSize
in interface MessageBuffer
public MessageQueue createMessageQueue()
createMessageQueue
in interface MessageBuffer
public void onSizeChanged(MessageQueue queue, int delta, int queueSize)
onSizeChanged
in interface MessageBuffer
delta
- queueSize
- public void clear()
clear
in interface MessageBuffer
protected void bubbleUp(MessageQueue queue, int queueSize)
protected void bubbleDown(MessageQueue biggest, int position)
protected void swap(int firstPosition, MessageQueue first, int secondPosition, MessageQueue second)
Copyright © 2005–2014 The Apache Software Foundation. All rights reserved.