Class TransferMode


  • public class TransferMode
    extends java.lang.Object
    Is the application in a "download" mode? Or is it in a "seeding" mode? This is used to determine up we cut back on upload bandwidth limit. Here is how to determine the mode. If the download rate is LOW compared to the capacity for five minutes continously then it will be considered in a SEEDING mode. If the download bandwidth ever goes into the MED range then it switches to DOWNLOADING mode immediately. The application will favor DOWNLOADING mode to SEEDING mode.
    • Field Detail

      • lastTimeDownloadDetected

        private long lastTimeDownloadDetected
      • WAIT_TIME_FOR_SEEDING_MODE

        private static final long WAIT_TIME_FOR_SEEDING_MODE
        See Also:
        Constant Field Values
    • Constructor Detail

      • TransferMode

        public TransferMode()
    • Method Detail

      • updateStatus

        public void updateStatus​(SaturatedMode downloadBandwidth)
        If the download bandwidth is ever in MED or above switch immediately to DOWNLOADING mode. If th download bandwidth is LOW or less for more then 5 min, switch to SEEDING mode.
        Parameters:
        downloadBandwidth - - current download status.
      • getString

        public java.lang.String getString()
      • isDownloadMode

        public boolean isDownloadMode()
        Are we in downloading mode?
        Returns:
        - boolean - true if in downloading mode. Otherwise false.
      • isConfTestingLimits

        public boolean isConfTestingLimits()
        We have two types of limit testing. If we are doing a "confidence test" for the limits then return true. This mode is putting one value at the min setting and the other at unlimited.
        Returns:
        - true if doing a "conf test of the limits"