⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messagequeue.java

📁 发布/订阅系统路由重配算法,可应用于ad hoc环境
💻 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 + -