httpserverstate.java
来自「很棒的web服务器源代码」· Java 代码 · 共 100 行
JAVA
100 行
// HttpServerState.java// $Id: HttpServerState.java,v 1.8 2004/01/09 16:04:21 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1996.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.www.protocol.http ;import java.util.Vector;class HttpServerState { HttpServer server = null; Vector conns = null; protected int state = 0; protected HttpException ex = null; protected int num_conn = 0; protected static final int PREINIT = 0; protected static final int ERROR = 1; protected static final int OK = 2; private static final boolean debug = false;// Vector allconns = new Vector(); (used for debug) final HttpServer getServer() { return server; } synchronized void incrConnectionCount() { ++num_conn; } synchronized void decrConnectionCount() { --num_conn; } synchronized int getConnectionCount() { return num_conn; } synchronized boolean notEnoughConnections() { return (conns == null) || (conns.size() == 0); } synchronized void registerConnection(HttpConnection conn) { if ( conns == null ) { conns = new Vector(4); } conns.addElement(conn); } synchronized void unregisterConnection(HttpConnection conn) { if ( conns != null ) { conns.removeElement(conn); } } synchronized void deleteConnection(HttpConnection conn) { if ( conns != null ) { conns.removeElement(conn); } } synchronized boolean hasConnection() { return (conns != null) && (conns.size() > 0); } synchronized HttpConnection getConnection() { if ((conns != null) && (conns.size() > 0)) { HttpConnection conn = (HttpConnection) conns.elementAt(0); conns.removeElementAt(0); conn.cached = true; return conn; } return null; } public String toString() { String tostring = ""; if (conns == null) tostring = "null"; else if (conns.size() == 0) tostring = "empty"; else { for (int i = 0 ; i < conns.size() ; i++) { tostring += "["+ ((HttpConnection) conns.elementAt(i)).toString()+ "]"; } } return "" + num_conn + tostring; } HttpServerState(HttpServer server) { this.server = server; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?