Interface BridgeNetworkStatus

  • All Superinterfaces:
    Descriptor, java.io.Serializable

    public interface BridgeNetworkStatus
    extends Descriptor
    Contains a sanitized bridge network status document.

    The bridge directory authority periodically publishes a network status document with one entry per known bridge in the network (NetworkStatusEntry) containing: a hash of its identity key, a hash of its most recent server descriptor, and a summary of what the bridge authority believed about its status.

    The main purpose of this document is to get an authoritative list of running bridges to the bridge distribution service BridgeDB.

    Details about sanitizing bridge network statuses can be found here.

    Since:
    1.0.0
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int getEnoughMtbfInfo()
      Return 1 if the authority has measured enough MTBF info to use the MTBF requirement instead of the uptime requirement for assigning the Stable flag, 0 if not, or -1 if the authority doesn't report this information.
      long getFastBandwidth()
      Return the minimum bandwidth that this authority requires for assigning the Fast flag, or -1 if the authority doesn't report this value.
      java.lang.String getFingerprint()
      Return a SHA-1 digest of the bridge authority's identity key, encoded as 40 upper-case hexadecimal characters.
      long getGuardBandwidthExcludingExits()
      Return the minimum bandwidth that this authority requires for assigning the Guard flag if exits can not be guards, or -1 if the authority doesn't report this value.
      long getGuardBandwidthIncludingExits()
      Return the minimum bandwidth that this authority requires for assigning the Guard flag if exits can be guards, or -1 if the authority doesn't report this value.
      long getGuardTk()
      Return the minimum weighted time in seconds that this authority needs to know about a relay before assigning the Guard flag, or -1 if the authority doesn't report this information.
      double getGuardWfu()
      Return the minimum WFU (weighted fractional uptime) in percent that this authority requires for assigning the Guard flag, or -1 if the authority doesn't report this value.
      int getIgnoringAdvertisedBws()
      Return 1 if the authority has enough measured bandwidths that it'll ignore the advertised bandwidth claims of routers without measured bandwidth, 0 if not, or -1 if the authority doesn't report this information.
      long getPublishedMillis()
      Return the time in milliseconds since the epoch when this descriptor was published.
      long getStableMtbf()
      Return the minimum MTBF (mean time between failure) that this authority requires for assigning the Stable flag, or -1 if the authority doesn't report this value.
      long getStableUptime()
      Return the minimum uptime in seconds that this authority requires for assigning the Stable flag, or -1 if the authority doesn't report this value.
      java.util.SortedMap<java.lang.String,​NetworkStatusEntry> getStatusEntries()
      Return status entries for each contained bridge, with map keys being SHA-1 digests of SHA-1 digest of the bridges' public identity keys, encoded as 40 upper-case hexadecimal characters.
    • Method Detail

      • getPublishedMillis

        long getPublishedMillis()
        Return the time in milliseconds since the epoch when this descriptor was published.
        Since:
        1.0.0
      • getStableUptime

        long getStableUptime()
        Return the minimum uptime in seconds that this authority requires for assigning the Stable flag, or -1 if the authority doesn't report this value.
        Since:
        1.1.0
      • getStableMtbf

        long getStableMtbf()
        Return the minimum MTBF (mean time between failure) that this authority requires for assigning the Stable flag, or -1 if the authority doesn't report this value.
        Since:
        1.1.0
      • getFastBandwidth

        long getFastBandwidth()
        Return the minimum bandwidth that this authority requires for assigning the Fast flag, or -1 if the authority doesn't report this value.
        Since:
        1.1.0
      • getGuardWfu

        double getGuardWfu()
        Return the minimum WFU (weighted fractional uptime) in percent that this authority requires for assigning the Guard flag, or -1 if the authority doesn't report this value.
        Since:
        1.1.0
      • getGuardTk

        long getGuardTk()
        Return the minimum weighted time in seconds that this authority needs to know about a relay before assigning the Guard flag, or -1 if the authority doesn't report this information.
        Since:
        1.1.0
      • getGuardBandwidthIncludingExits

        long getGuardBandwidthIncludingExits()
        Return the minimum bandwidth that this authority requires for assigning the Guard flag if exits can be guards, or -1 if the authority doesn't report this value.
        Since:
        1.1.0
      • getGuardBandwidthExcludingExits

        long getGuardBandwidthExcludingExits()
        Return the minimum bandwidth that this authority requires for assigning the Guard flag if exits can not be guards, or -1 if the authority doesn't report this value.
        Since:
        1.1.0
      • getEnoughMtbfInfo

        int getEnoughMtbfInfo()
        Return 1 if the authority has measured enough MTBF info to use the MTBF requirement instead of the uptime requirement for assigning the Stable flag, 0 if not, or -1 if the authority doesn't report this information.
        Since:
        1.1.0
      • getIgnoringAdvertisedBws

        int getIgnoringAdvertisedBws()
        Return 1 if the authority has enough measured bandwidths that it'll ignore the advertised bandwidth claims of routers without measured bandwidth, 0 if not, or -1 if the authority doesn't report this information.
        Since:
        1.1.0
      • getFingerprint

        java.lang.String getFingerprint()
        Return a SHA-1 digest of the bridge authority's identity key, encoded as 40 upper-case hexadecimal characters.
        Since:
        2.11.0
      • getStatusEntries

        java.util.SortedMap<java.lang.String,​NetworkStatusEntry> getStatusEntries()
        Return status entries for each contained bridge, with map keys being SHA-1 digests of SHA-1 digest of the bridges' public identity keys, encoded as 40 upper-case hexadecimal characters.
        Since:
        1.0.0