📄 messagequeue.java
字号:
package broker;import java.util.*;import com.Message;/** * A simple message queue based on a linked list. * @author parzy * */public class MessageQueue { /** * A queue entry to store the sender, the receiver, * and the message itself. * @author parzy */ private class Entry { Destination sender = null; Destination receiver = null; Message message = null; private Entry(Destination sender, Destination receiver, Message message) { this.sender = sender; this.receiver = receiver; this.message = message; sender.isBroker(); } } /** * The queue based on a LinkedList. */ private LinkedList queue = new LinkedList(); /** * The sender of the last dequeued message. */ private Destination sender = null; /** * The receiver of the last dequeued message. */ private Destination receiver = null; /** * Enqueues a message with references to its sender and receiver. * @param sender the sender of the message * @param receiver the receiver of the message * @param message the message itself */ public void enqueue(Destination sender, Destination receiver, Message message){ queue.addLast(new Entry(sender, receiver, message)); } /** * Returns the queue's size. * @return the queue's size */ public int size() { return queue.size(); } /** * Returns true if this queue contains no entries. * @return true if this queue contains no entries. */ public boolean isEmpty() { return queue.isEmpty(); } /** * Dequeues the next message and stores references to its * sender and receiver. Use the getSender and getReceiver Method * to access them. * @return the next message */ public Message dequeue() { Entry e; e = (Entry)queue.removeFirst(); sender = e.sender; receiver = e.receiver; return e.message; } /** * Returns the receiver of the last dequeued message. * @return receiver of the last dequeues message. */ public Destination getReceiver() { return receiver; } /** * Returns the sender of the last dequeued message. * @return sender of the last dequeued message. */ public Destination getSender() { return sender; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -