package com.limegroup.gnutella.settings; /** * Settings for uploads. */ public final class UploadSettings extends LimeProps { private UploadSettings() {} /** * The maximum number of pushes to allow from a single host * within a 30 second span. */ public static final IntSetting MAX_PUSHES_PER_HOST = FACTORY.createIntSetting("MAX_PUSHES_PER_HOST", 5); /** * Setting for the number of kilobytes/second to allow for all uploads. */ public static final IntSetting UPLOAD_SPEED = FACTORY.createIntSetting("UPLOAD_SPEED", 100); /** * Setting for the size of the upload queue. */ public static final IntSetting UPLOAD_QUEUE_SIZE = FACTORY.createIntSetting("UPLOAD_QUEUE_SIZE", 10); /** * Setting for the number of uploads per person. */ public static final IntSetting UPLOADS_PER_PERSON = FACTORY.createIntSetting("UPLOADS_PER_PERSON", 3); /** * Setting for whether or not to allow partial files to be shared. */ public static final BooleanSetting ALLOW_PARTIAL_SHARING = FACTORY.createBooleanSetting("ALLOW_PARTIAL_SHARING", true); /** * The maximum number of upstream bytes per second ever passed by * this node. */ public static final IntSetting MAX_UPLOAD_BYTES_PER_SEC = FACTORY.createExpirableIntSetting("MAX_UPLOAD_BYTES_PER_SEC", 0); /** * The maximum number of simultaneous uploads to allow. */ public static final IntSetting HARD_MAX_UPLOADS = FACTORY.createIntSetting("HARD_MAX_UPLOADS", 20); /** * The "soft" maximum number of simultaneous uploads to allow, * i.e., the minimum number of people to allow before determining * whether to allow more uploads. */ public static final IntSetting SOFT_MAX_UPLOADS = FACTORY.createIntSetting("SOFT_MAXIMUM_UPLOADS", 5); /** * settings whether to expire the different types of meshes */ public static final BooleanSetting EXPIRE_LEGACY = FACTORY.createSettableBooleanSetting("EXPIRE_LEGACY",true,"AlternateLocation.expireLegacy"); public static final BooleanSetting EXPIRE_PING = FACTORY.createSettableBooleanSetting("EXPIRE_PING",true,"AlternateLocation.expirePing"); public static final BooleanSetting EXPIRE_RESPONSE = FACTORY.createSettableBooleanSetting("EXPIRE_RESPONSES",true,"AlternateLocation.expireResponse"); /** * settings for the number of times each altloc should be given out * (larger == more times) */ public static final FloatSetting LEGACY_BIAS = FACTORY.createSettableFloatSetting("LEGACY_BIAS",1f,"AlternateLocation.legacyBias",0.0f,100.0f); public static final FloatSetting PING_BIAS = FACTORY.createSettableFloatSetting("PING_BIAS",1f,"AlternateLocation.pingBias",0.0f,100.0f); public static final FloatSetting RESPONSE_BIAS = // send altlocs in responses more often by default FACTORY.createSettableFloatSetting("RESPONSE_BIAS",3f,"AlternateLocation.responseBias",0.0f,100.0f); /** * settings for the speed at which the number of times an altloc can be given out regrows * (smaller == faster) */ public static final FloatSetting LEGACY_EXPIRATION_DAMPER = FACTORY.createSettableFloatSetting("LEGACY_DAMPER", (float)Math.E/2,"AlternateLocation.legacyDamper", (float)Math.E/100, (float)Math.E-0.1f); public static final FloatSetting PING_EXPIRATION_DAMPER = FACTORY.createSettableFloatSetting("PING_DAMPER", (float)Math.E/2,"AlternateLocation.pingDamper", (float)Math.E/100, (float)Math.E-0.1f); public static final FloatSetting RESPONSE_EXPIRATION_DAMPER = FACTORY.createSettableFloatSetting("RESPONSE_DAMPER", (float)Math.E/2,"AlternateLocation.responseDamper", (float)Math.E/100, (float)Math.E-0.1f); /** * How much to throttle the Thex upload speed. */ public static final IntSetting THEX_UPLOAD_SPEED = FACTORY.createSettableIntSetting("THEX_UPLOAD_SPEED",512, "THEXUploadState.ThexUploadSpeed",256,4*1024); }