package com.limegroup.gnutella.statistics;
/**
* This class contains a type-safe enumeration of statistics for
* errors in received messages.
*/
public class ReceivedErrorStat extends AdvancedStatistic {
/**
* Make the constructor private so that only this class can construct
* an <tt>ReceivedErrorStat</tt> instances.
*/
private ReceivedErrorStat() {}
/**
* Specialized class for accumulating all errors.
*/
private static class ErrorStat extends ReceivedErrorStat {
public void incrementStat() {
super.incrementStat();
ALL_RECEIVED_ERRORS.incrementStat();
}
}
/**
* Class for accumulating query errors.
*/
private static class QueryErrorStat extends ErrorStat {
public void incrementStat() {
super.incrementStat();
ALL_QUERY_ERRORS.incrementStat();
}
}
/**
* Class for accumulating query reply errors.
*/
private static class QueryReplyErrorStat extends ErrorStat {
public void incrementStat() {
super.incrementStat();
ALL_QUERY_REPLY_ERRORS.incrementStat();
}
}
/**
* Class for accumulating push errors.
*/
private static class PushErrorStat extends ErrorStat {
public void incrementStat() {
super.incrementStat();
ALL_PUSH_ERRORS.incrementStat();
}
}
/**
* Class for accumulating ping reply errors.
*/
private static class PingReplyErrorStat extends ErrorStat {
public void incrementStat() {
super.incrementStat();
ALL_PING_REPLY_ERRORS.incrementStat();
}
}
/**
* Class for accumulating vendor message errors.
*/
private static class VendorErrorStat extends ErrorStat {
public void incrementStat() {
super.incrementStat();
ALL_VENDOR_ERRORS.incrementStat();
}
}
/**
* Statistic for all received errors.
*/
public static final Statistic ALL_RECEIVED_ERRORS =
new ReceivedErrorStat();
/**
* Statistic for all received query errors.
*/
public static final Statistic ALL_QUERY_ERRORS =
new ReceivedErrorStat();
/**
* Statistic for all received query reply errors.
*/
public static final Statistic ALL_QUERY_REPLY_ERRORS =
new ReceivedErrorStat();
/**
* Statistic for all received push errors.
*/
public static final Statistic ALL_PUSH_ERRORS =
new ReceivedErrorStat();
/**
* Statistic for all received ping reply errors.
*/
public static final Statistic ALL_PING_REPLY_ERRORS =
new ReceivedErrorStat();
/**
* Statistic for all received vendor errors.
*/
public static final Statistic ALL_VENDOR_ERRORS =
new ReceivedErrorStat();
/**
* Statistic for failure due to connection closing.
*/
public static final Statistic CONNECTION_CLOSED =
new ErrorStat();
/**
* Statistic for an invalid payload length.
*/
public static final Statistic INVALID_LENGTH =
new ErrorStat();
/**
* Statistic for an invalid hops.
*/
public static final Statistic INVALID_HOPS =
new ErrorStat();
/**
* Statistic for an invalid TTL.
*/
public static final Statistic INVALID_TTL =
new ErrorStat();
/**
* Statistic for hops exceeding soft max.
*/
public static final Statistic HOPS_EXCEED_SOFT_MAX =
new ErrorStat();
/**
* Statistic for hops + ttl exceeding hard max.
*/
public static final Statistic HOPS_AND_TTL_OVER_HARD_MAX =
new ErrorStat();
/**
* Statistic for an invalid function code.
*/
public static final Statistic INVALID_CODE =
new ErrorStat();
/**
* Statistic for failure due to URNs.
*/
public static final Statistic QUERY_URN =
new QueryErrorStat();
/**
* Statistic for failure due to query length too large.
*/
public static final Statistic QUERY_TOO_LARGE =
new QueryErrorStat();
/**
* Statistic for failure due to the XML query length.
*/
public static final Statistic QUERY_XML_TOO_LARGE =
new QueryErrorStat();
/**
* Statistic for failure due to empty query.
*/
public static final Statistic QUERY_EMPTY =
new QueryErrorStat();
/**
* Statistic for failure due to illegal characters.
*/
public static final Statistic QUERY_ILLEGAL_CHARS =
new QueryErrorStat();
/**
* Statistic for failure due to invalid port in QueryReply.
*/
public static final Statistic REPLY_INVALID_PORT =
new QueryReplyErrorStat();
/**
* Statistic for failure due to invalid address in QueryReply.
*/
public static final Statistic REPLY_INVALID_ADDRESS =
new QueryReplyErrorStat();
/**
* Statistic for failure due to invalid speed in QueryReply.
*/
public static final Statistic REPLY_INVALID_SPEED =
new QueryReplyErrorStat();
/**
* Statistic for failure due to invalid port in a push.
*/
public static final Statistic PUSH_INVALID_PORT =
new PushErrorStat();
/**
* Statistic for failure due to invalid address in a push.
*/
public static final Statistic PUSH_INVALID_ADDRESS =
new PushErrorStat();
/**
* Statistic for failure due to invalid payload in a push.
*/
public static final Statistic PUSH_INVALID_PAYLOAD =
new PushErrorStat();
/**
* Statistic for failure due to an invalid ping reply payload.
*/
public static final Statistic PING_REPLY_INVALID_PAYLOAD =
new PingReplyErrorStat();
/**
* Statistic for failure due to an invalid ping reply port.
*/
public static final Statistic PING_REPLY_INVALID_PORT =
new PingReplyErrorStat();
/**
* Statistic for failure due to an invalid ping reply address.
*/
public static final Statistic PING_REPLY_INVALID_ADDRESS =
new PingReplyErrorStat();
/**
* Statistic for failure due to an invalid ping reply ggep block.
*/
public static final Statistic PING_REPLY_INVALID_GGEP =
new PingReplyErrorStat();
/**
* Statistic for failure due to an invalid ping reply vendor length.
*/
public static final Statistic PING_REPLY_INVALID_VENDOR =
new PingReplyErrorStat();
/**
* Statistic for failure due to an invalid vendor id.
*/
public static final Statistic VENDOR_INVALID_ID =
new VendorErrorStat();
/**
* Statistic for failure due to an invalid selector.
*/
public static final Statistic VENDOR_INVALID_SELECTOR =
new VendorErrorStat();
/**
* Statistic for failure due to an invalid version.
*/
public static final Statistic VENDOR_INVALID_VERSION =
new VendorErrorStat();
/**
* Statistic for failure due an invalid payload.
*/
public static final Statistic VENDOR_INVALID_PAYLOAD =
new VendorErrorStat();
/**
* Statistic for failure due an unrecognized vendor message.
*/
public static final Statistic VENDOR_UNRECOGNIZED =
new VendorErrorStat();
}