public int getPriority() { return item.getPriority(); }
private synchronized void enqueuePrioritizedMessageItem(MessageItem addMe) { //Assume it goes on the end, both the common case short prio = addMe.getPriority(); queuesByPriority[prio].addLast(addMe); if(addMe.sendLoadRT) mustSendLoadRT = true; if(addMe.sendLoadBulk) mustSendLoadBulk = true; }
/** * like enqueuePrioritizedMessageItem, but adds it to the front of those in the same priority. * * WARNING: Pulling a message and then pushing it back will mess up the fairness * between UID's send order. Try to avoid it. */ synchronized void pushfrontPrioritizedMessageItem(MessageItem addMe) { //Assume it goes on the front short prio = addMe.getPriority(); queuesByPriority[prio].addFirst(addMe); if(addMe.sendLoadRT) mustSendLoadRT = true; if(addMe.sendLoadBulk) mustSendLoadBulk = true; }
public boolean removeMessage(MessageItem message) { synchronized(this) { short prio = message.getPriority(); if(!queuesByPriority[prio].removeMessage(message)) return false; } message.onFailed(); return true; }
Map<Integer, MessageWrapper> queue = startedByPrio.get(item.getPriority()); synchronized(sendBufferLock) {