Interface BandwidthFile

All Superinterfaces:
Descriptor, Serializable

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
  • Method Details

    • digestSha256Base64

      String digestSha256Base64()
      Return the SHA-256 bandwidth file digest, encoded as 43 base64 characters without padding characters, that is used to reference this bandwidth file from a vote.
      Since:
      2.11.0
    • timestamp

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

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

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

      Optional<String> softwareVersion()
      Version of the software that created the document.
      Since:
      2.6.0
    • torVersion

      Optional<String> torVersion()
      The Tor version of the Tor process controlled by the generator.
      Since:
      2.20.0
    • fileCreated

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

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

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

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

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

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

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

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

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

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

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

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

      Optional<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

      Optional<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

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

      Optional<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

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

      Optional<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

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

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

      Optional<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
    • mu

      The network stream bandwidth average calculated as explained in the bandwidth file specification. This Line was added in version 1.7.0 of the bandwidth file specification.
      Since:
      2.22.0
    • muf

      The network stream bandwidth average filtered calculated as explained in the bandwidth file specification. This Line was added in version 1.7.0 of the bandwidth file specification.
      Since:
      2.22.0
    • dirauthNickname

      Optional<String> dirauthNickname()
      The dirauth's nickname which publishes this V3BandwidthsFile. This Line was added in version 1.8.0 of this specification.
      Since:
      2.24.0
    • relayLines

      List of zero or more BandwidthFile.RelayLines containing relay identities and bandwidths in the order as they are contained in the bandwidth file.
      Since:
      2.6.0