Interface BandwidthFile

  • All Superinterfaces:
    Descriptor

    public interface BandwidthFile
    extends Descriptor
    A bandwidth file contains information on relays' bandwidth capacities and is produced by bandwidth generators, previously known as bandwidth scanners.
    Since:
    2.6.0
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  BandwidthFile.RelayLine  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.Optional<java.lang.String[]> destinationsCountries()
      Country, as in political geolocation, or countries where the destination web server(s) are located.
      java.util.Optional<java.time.LocalDateTime> earliestBandwidth()
      Timestamp in UTC time zone when the first relay bandwidth was obtained.
      java.util.Optional<java.time.LocalDateTime> fileCreated()
      Timestamp in UTC time zone when the file was created.
      java.util.Optional<java.time.LocalDateTime> generatorStarted()
      Timestamp in UTC time zone when the generator was started.
      java.util.Optional<java.time.LocalDateTime> latestBandwidth()
      Timestamp in UTC time zone of the most recent generator bandwidth result.
      java.util.Optional<java.lang.Integer> minimumNumberEligibleRelays()
      Minimum number of relays that should be included in the bandwidth file.
      java.util.Optional<java.lang.Integer> minimumPercentEligibleRelays()
      Percentage of relays in the consensus that should be included in every generated bandwidth file.
      java.util.Optional<java.lang.Integer> numberConsensusRelays()
      Number of relays in the consensus.
      java.util.Optional<java.lang.Integer> numberEligibleRelays()
      Number of relays that have enough measurements to be included in the bandwidth file.
      java.util.Optional<java.lang.Integer> percentEligibleRelays()
      The number of eligible relays, as a percentage of the number of relays in the consensus.
      java.util.Optional<java.lang.Integer> recentConsensusCount()
      Number of the different consensuses seen in the last data period.
      java.util.Optional<java.lang.Integer> recentMeasurementAttemptCount()
      Number of times that any relay has been queued to be measured in the last data period.
      java.util.Optional<java.lang.Integer> recentMeasurementFailureCount()
      Number of times that the scanner attempted to measure a relay in the last data period, but the relay has not been measured because of system, network or implementation issues.
      java.util.Optional<java.lang.Integer> recentMeasurementsExcludedErrorCount()
      Number of relays that have no successful measurements in the last data period.
      java.util.Optional<java.lang.Integer> recentMeasurementsExcludedFewCount()
      Number of relays that don't have enough recent successful measurements.
      java.util.Optional<java.lang.Integer> recentMeasurementsExcludedNearCount()
      Number of relays that have some successful measurements in the last data period, but all those measurements were performed in a period of time that was too short.
      java.util.Optional<java.lang.Integer> recentMeasurementsExcludedOldCount()
      Number of relays that have some successful measurements, but all those measurements are too old.
      java.util.Optional<java.lang.Integer> recentPriorityListCount()
      Number of times that a list with a subset of relays prioritized to be measured has been created in the last data period.
      java.util.Optional<java.lang.Integer> recentPriorityRelayCount()
      Number of relays that has been in in the list of relays prioritized to be measured in the last data period.
      java.util.List<BandwidthFile.RelayLine> relayLines()
      List of zero or more BandwidthFile.RelayLines containing relay identities and bandwidths in the order as they are contained in the bandwidth file.
      java.util.Optional<java.lang.String> scannerCountry()
      Country, as in political geolocation, where the generator is run.
      java.lang.String software()
      Name of the software that created the document.
      java.util.Optional<java.lang.String> softwareVersion()
      Version of the software that created the document.
      java.time.LocalDateTime timestamp()
      Time of the most recent generator bandwidth result.
      java.util.Optional<java.time.Duration> timeToReportHalfNetwork()
      Time that it would take to report measurements about half of the network, given the number of eligible relays and the time it took in the last days.
      java.lang.String version()
      Document format version.
    • Method Detail

      • timestamp

        java.time.LocalDateTime timestamp()
        Time of the most recent generator bandwidth result.
        Since:
        2.6.0
      • version

        java.lang.String version()
        Document format version.
        Since:
        2.6.0
      • software

        java.lang.String software()
        Name of the software that created the document.
        Since:
        2.6.0
      • softwareVersion

        java.util.Optional<java.lang.String> softwareVersion()
        Version of the software that created the document.
        Since:
        2.6.0
      • fileCreated

        java.util.Optional<java.time.LocalDateTime> fileCreated()
        Timestamp in UTC time zone when the file was created.
        Since:
        2.6.0
      • generatorStarted

        java.util.Optional<java.time.LocalDateTime> generatorStarted()
        Timestamp in UTC time zone when the generator was started.
        Since:
        2.6.0
      • earliestBandwidth

        java.util.Optional<java.time.LocalDateTime> earliestBandwidth()
        Timestamp in UTC time zone when the first relay bandwidth was obtained.
        Since:
        2.6.0
      • latestBandwidth

        java.util.Optional<java.time.LocalDateTime> latestBandwidth()
        Timestamp in UTC time zone of the most recent generator bandwidth result.
        Since:
        2.6.0
      • numberEligibleRelays

        java.util.Optional<java.lang.Integer> numberEligibleRelays()
        Number of relays that have enough measurements to be included in the bandwidth file.
        Since:
        2.6.0
      • minimumPercentEligibleRelays

        java.util.Optional<java.lang.Integer> minimumPercentEligibleRelays()
        Percentage of relays in the consensus that should be included in every generated bandwidth file.
        Since:
        2.6.0
      • numberConsensusRelays

        java.util.Optional<java.lang.Integer> numberConsensusRelays()
        Number of relays in the consensus.
        Since:
        2.6.0
      • percentEligibleRelays

        java.util.Optional<java.lang.Integer> percentEligibleRelays()
        The number of eligible relays, as a percentage of the number of relays in the consensus.
        Since:
        2.6.0
      • minimumNumberEligibleRelays

        java.util.Optional<java.lang.Integer> minimumNumberEligibleRelays()
        Minimum number of relays that should be included in the bandwidth file.
        Since:
        2.6.0
      • scannerCountry

        java.util.Optional<java.lang.String> scannerCountry()
        Country, as in political geolocation, where the generator is run.
        Since:
        2.6.0
      • destinationsCountries

        java.util.Optional<java.lang.String[]> destinationsCountries()
        Country, as in political geolocation, or countries where the destination web server(s) are located.
        Since:
        2.6.0
      • recentConsensusCount

        java.util.Optional<java.lang.Integer> recentConsensusCount()
        Number of the different consensuses seen in the last data period.
        Since:
        2.6.0
      • recentPriorityListCount

        java.util.Optional<java.lang.Integer> recentPriorityListCount()
        Number of times that a list with a subset of relays prioritized to be measured has been created in the last data period.
        Since:
        2.6.0
      • recentPriorityRelayCount

        java.util.Optional<java.lang.Integer> recentPriorityRelayCount()
        Number of relays that has been in in the list of relays prioritized to be measured in the last data period.
        Since:
        2.6.0
      • recentMeasurementAttemptCount

        java.util.Optional<java.lang.Integer> recentMeasurementAttemptCount()
        Number of times that any relay has been queued to be measured in the last data period.
        Since:
        2.6.0
      • recentMeasurementFailureCount

        java.util.Optional<java.lang.Integer> recentMeasurementFailureCount()
        Number of times that the scanner attempted to measure a relay in the last data period, but the relay has not been measured because of system, network or implementation issues.
        Since:
        2.6.0
      • recentMeasurementsExcludedErrorCount

        java.util.Optional<java.lang.Integer> recentMeasurementsExcludedErrorCount()
        Number of relays that have no successful measurements in the last data period.
        Since:
        2.6.0
      • recentMeasurementsExcludedNearCount

        java.util.Optional<java.lang.Integer> recentMeasurementsExcludedNearCount()
        Number of relays that have some successful measurements in the last data period, but all those measurements were performed in a period of time that was too short.
        Since:
        2.6.0
      • recentMeasurementsExcludedOldCount

        java.util.Optional<java.lang.Integer> recentMeasurementsExcludedOldCount()
        Number of relays that have some successful measurements, but all those measurements are too old.
        Since:
        2.6.0
      • recentMeasurementsExcludedFewCount

        java.util.Optional<java.lang.Integer> recentMeasurementsExcludedFewCount()
        Number of relays that don't have enough recent successful measurements.
        Since:
        2.6.0
      • timeToReportHalfNetwork

        java.util.Optional<java.time.Duration> timeToReportHalfNetwork()
        Time that it would take to report measurements about half of the network, given the number of eligible relays and the time it took in the last days.
        Since:
        2.6.0