// HttpConnectionInfo.java // (C) 2008 by Daniel Raap; danielr@users.berlios.de // first published 07.04.2008 on http://yacy.net // // This is a part of YaCy, a peer-to-peer based web search engine // // $LastChangedDate: 2008-03-14 01:16:04 +0100 (Fr, 14 Mrz 2008) $ // $LastChangedRevision: 4558 $ // $LastChangedBy: orbiter $ // // LICENSE // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package de.anomic.http; import org.apache.commons.httpclient.HttpConnection; /** * Information about a connection * * @author daniel * @since 07.04.2008 */ public class HttpConnectionInfo { private final String protocol; private final String targetHost; private final String command; private final int id; private final long initTime; /** * constructor using org.apache.commons.httpclient.HttpConnection * * @param connection */ public HttpConnectionInfo(final HttpConnection connection) { this(connection.getProtocol().toString(), ((connection.getPort() == 80) ? connection.getHost() : connection.getHost() + ":" + connection.getPort()), "unknown command", connection.hashCode(), System.currentTimeMillis()); } /** * constructor setting all data * * @param protocol * @param targetHost * @param command * @param id * @param initTime */ public HttpConnectionInfo(final String protocol, final String targetHost, final String command, final int id, final long initTime) { this.protocol = protocol; this.targetHost = targetHost; this.command = command; this.id = id; this.initTime = initTime; } /** * @return */ public String getProtocol() { return protocol; } /** * @return */ public long getLifetime() { return System.currentTimeMillis() - initTime; } /** * @return */ public int getIdletime() { return 0; } /** * @return */ public String getCommand() { return command; } /** * @return */ public String getTargetHost() { return targetHost; } /** * @return */ public int getID() { return id; } }