icpwaiter.java

来自「很棒的web服务器源代码」· Java 代码 · 共 74 行

JAVA
74
字号
// ICPWaiter.java// $Id: ICPWaiter.java,v 1.3 2000/08/16 21:38:04 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1996.// please first read the full copyright statement in file COPYRIGHT.HTMLpackage org.w3c.www.protocol.http.icp;import java.util.Vector;class ICPWaiter {    /**     * The identifier this waiter is waitin for.     */    protected int id = -1;    /**     * The queue of replies, as they arrive:     */    protected Vector replies = null;    /**     * Get the identifier this waiter is waiting on.     * @return The integer identifier.     */    protected final int getIdentifier() {	return id;    }    /**     * Get next matching reply until timeout expires.     * @param timeout The timeout to wait until filaure.     * @return A ICPReply instance, if available, or <strong>null</strong>     * if timeout has expired.     */    protected synchronized ICPReply getNextReply(long timeout) {	// Do we have a reply handy ?	if ( replies.size() > 0 ) {	    ICPReply reply = (ICPReply) replies.elementAt(0);	    replies.removeElementAt(0);	    return reply;	}	// Wait for timeout, or notification.	try {	    wait(timeout);	} catch (InterruptedException ex) {	}	// Return, depnding on timeout expiration or reply available:	if ( replies.size() == 0 )	    return null;	ICPReply reply = (ICPReply) replies.elementAt(0);	replies.removeElementAt(0);	return reply;    }    /**     * Notify that waiter that a matching reply was received.     * @param reply The matching ICP reply.     */    protected synchronized void notifyReply(ICPReply reply) {	// Add that reply to the queue, and notify:	replies.addElement(reply);	notifyAll();    }    ICPWaiter(int id) {	this.replies = new Vector(4);	this.id      = id;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?