package com.limegroup.gnutella.statistics;
/**
* This class contains a type-safe enumeration of statistics for HTTP
* requests. Each statistic maintains its own history, all messages
* received over a specific number of time intervals.
*/
public class HTTPStat extends AdvancedStatistic {
/**
* Make the constructor private so that only this class can construct
* an <tt>HTTPStat</tt> instances.
*/
private HTTPStat() {}
/**
* Specialized class for increment the number of HTTP requests
* received. In addition to increment the actual stat,
* this increments the total number of HTTP Requests.
*/
private static class HTTPRequestStat extends HTTPStat {
public void incrementStat() {
super.incrementStat();
HTTP_REQUESTS.incrementStat();
}
}
/**
* <tt>Statistic</tt> for all HTTP requests of any type that have
* been made in this session.
*/
public static final Statistic HTTP_REQUESTS =
new HTTPStat();
/**
* <tt>Statistic</tt> for all HTTP HEAD requests that have
* been made in this session.
*/
public static final Statistic HEAD_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all HTTP GET requests that have
* been made in this session.
*/
public static final Statistic GET_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all HTTP GIV requests that have been made
* in this session.
*/
public static final Statistic GIV_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all Gnutella requests that have been made
* in this session.
*/
public static final Statistic GNUTELLA_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all LimeWire requests that have been made
* in this session.
*/
public static final Statistic GNUTELLA_LIMEWIRE_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all Chat requests that have been made
* in this session.
*/
public static final Statistic CHAT_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all Magnet requests that have been made
* in this session.
*/
public static final Statistic MAGNET_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all Unknown requests that have been made
* in this session.
*/
public static final Statistic UNKNOWN_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all Banned requests that have been made
* in this session.
*/
public static final Statistic BANNED_REQUESTS =
new HTTPRequestStat();
/**
* <tt>Statistic</tt> for all closed requests that have been made
* in this session.
*/
public static final Statistic CLOSED_REQUESTS =
new HTTPRequestStat();
}