package com.limegroup.gnutella.settings;
/**
* Settings for downloads
*/
public class DownloadSettings extends LimeProps {
private DownloadSettings() {}
/**
* Setting for the number of bytes/second to allow for all uploads.
*/
public static final IntSetting DOWNLOAD_SPEED =
FACTORY.createIntSetting("DOWNLOAD_SPEED", 100);
/**
* The maximum number of downstream bytes per second ever passed by
* this node.
*/
public static final IntSetting MAX_DOWNLOAD_BYTES_PER_SEC =
FACTORY.createExpirableIntSetting("MAX_DOWNLOAD_BYTES_PER_SEC", 0);
/**
* The maximum number of simultaneous downloads to allow.
*/
public static final IntSetting MAX_SIM_DOWNLOAD =
FACTORY.createIntSetting("MAX_SIM_DOWNLOAD", 10);
/**
* Enable/disable skipping of acks
*/
public static final BooleanSetting SKIP_ACKS =
FACTORY.createSettableBooleanSetting("SKIP_ACKS",true,"skip_acks");
/**
* various parameters of the formulas for skipping acks.
*/
public static final IntSetting MAX_SKIP_ACKS =
FACTORY.createSettableIntSetting("MAX_SKIP_ACKS",5,"max_skip_ack",2,15);
public static final FloatSetting DEVIATION =
FACTORY.createSettableFloatSetting("SKIP_DEVIATION",1.3f,"skip_deviation",1.0f,2.0f);
public static final IntSetting PERIOD_LENGTH =
FACTORY.createSettableIntSetting("PERIOD_LENGTH",500,"period_length",100,2000);
public static final IntSetting HISTORY_SIZE=
FACTORY.createSettableIntSetting("HISTORY_SIZE",10,"history_size",2,50);
/**
* Whether the client should use HeadPings when ranking sources
*/
public static final BooleanSetting USE_HEADPINGS =
FACTORY.createSettableBooleanSetting("USE_HEADPINGS",true,"use_headpings");
/**
* Whether the client should drop incoming HeadPings.
*/
public static final BooleanSetting DROP_HEADPINGS =
FACTORY.createSettableBooleanSetting("DROP_HEADPINGS",false,"drop_headpings");
/**
* We should stop issuing HeadPings when we have this many verified sources
*/
public static final IntSetting MAX_VERIFIED_HOSTS =
FACTORY.createSettableIntSetting("MAX_VERIFIED_HOSTS",1,"max_verified_hosts",0,5);
/**
* We should not schedule more than this many head pings at once
*/
public static final IntSetting PING_BATCH =
FACTORY.createSettableIntSetting("PING_BATCH",10,"PingRanker.pingBatch",1,50);
/**
* Do not start new workers more than this often
*/
public static final IntSetting WORKER_INTERVAL =
FACTORY.createSettableIntSetting("WORKER_INTERVAL",2000,"ManagedDownloader.workerInterval",1,20000);
/**
* Use a download SelectionStrategy tailored for previewing if the file's extension is
* in this list.
*/
private static String[] defaultPreviewableExtensions = {"html", "htm", "xml", "txt", "rtf", "tex",
"mp3", "mp4", "wav", "au", "aif", "aiff", "ra", "ram", "wma", "wmv", "midi", "aifc", "snd",
"mpg", "mpeg", "asf", "qt", "mov", "avi", "mpe", "ogg", "rm", "m4a", "flac", "fla"};
public static final StringArraySetting PREVIEWABLE_EXTENSIONS =
FACTORY.createSettableStringArraySetting("PREVIEWABLE_EXTENSIONS",
defaultPreviewableExtensions,
"PREVIEWABLE_EXTENSIONS");
}