public interface ExtraInfoDescriptor extends Descriptor
Relays publish extra-info descriptors as an addendum to server
descriptors (ServerDescriptor
) to report extraneous information
to the directory authorities that clients do not need to download in
order to function. This information primarily consists of statistics
gathered by the relay about its usage and can take up a lot of
descriptor space. The separation of server descriptors and extra-info
descriptors has become less relevant with the introduction of
microdescriptors (Microdescriptor
) that are derived from server
descriptors by the directory authority and which clients download
instead of server descriptors, but it persists.
Bridges publish extra-info descriptors to the bridge authority for the same reason, to include statistics about their usage without increasing the directory protocol overhead for bridge clients. In this case, the separation of server descriptors and extra-info descriptors is slightly more relevant, because there are no microdescriptors for bridges, so that bridge clients still download server descriptors of bridges they're using. Another reason is that bridges need to include information like details of all the transports they support in their descriptors, and bridge clients using one such transport are not supposed to learn the details of the other transports.
It's worth noting that all contents of extra-info descriptors are written and signed by relays and bridges without a third party verifying their correctness. The (bridge) directory authorities may decide to exclude dishonest servers from the network statuses they produce, but that wouldn't be reflected in extra-info descriptors.
Modifier and Type | Method and Description |
---|---|
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getBridgeIps()
Get statistics on bridge client IP addresses by country with map
keys being country codes and map values being the number of unique IP
addresses that have connected from that country rounded up to the
nearest multiple of 8, or null if no such statistics are included.
|
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getBridgeIpTransports()
Get statistics on bridge client IP addresses by transport with
map keys being pluggable transport names, e.g.,
"obfs2" or
"obfs3" for known transports, "<OR>" for the default
onion routing protocol, or "<??>" for an unknown transport,
and map values being the number of unique IP addresses rounded up to
the nearest multiple of 8, or null if no such statistics are
included. |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getBridgeIpVersions()
Get statistics on bridge client IP addresses by IP version with
map keys being protocol families, e.g.,
"v4" or "v6" ,
and map values being the number of unique IP addresses rounded up to
the nearest multiple of 8, or null if no such statistics are
included. |
long |
getBridgeStatsEndMillis()
Get the time in milliseconds since the epoch when the included
bridge statistics interval ended, or -1 if no such statistics are
included.
|
long |
getBridgeStatsIntervalLength()
Get the interval length of the included bridge statistics in
seconds, or
-1L if no such statistics are included. |
int |
getCellCircuitsPerDecile()
Get the mean number of circuits included in any of the cell
statistics deciles, or
-1 if no such statistics are included. |
java.util.List<java.lang.Integer> |
getCellProcessedCells()
Get the mean number of processed cells per circuit by circuit
decile starting with the loudest decile at index 0 and the quietest
decile at index 8, or
null if no such statistics are included. |
java.util.List<java.lang.Double> |
getCellQueuedCells()
Get the mean number of cells contained in circuit queues by
circuit decile starting with the loudest decile at index 0 and the
quietest decile at index 8, or
null if no such statistics are
included. |
long |
getCellStatsEndMillis()
Get the time in milliseconds since the epoch when the included
cell statistics interval ended, or
-1L if no such
statistics are included. |
long |
getCellStatsIntervalLength()
Get the interval length of the included cell statistics in
seconds, or
-1L if no such statistics are included. |
java.util.List<java.lang.Integer> |
getCellTimeInQueue()
Get the mean times in milliseconds that cells spend in circuit
queues by circuit decile starting with the loudest decile at index 0
and the quietest decile at index 8, or
null if no such
statistics are included. |
int |
getConnBiDirectBelow()
Get the number of connections on which this server read and wrote
less than 2 KiB/s in a 10-second interval, or
-1 if no such
statistics are included. |
int |
getConnBiDirectBoth()
Get the number of connections on which this server read and wrote
at least 2 KiB/s in a 10-second interval but not 10 times more in
either direction, or
-1 if no such statistics are included. |
int |
getConnBiDirectRead()
Get the number of connections on which this server read and wrote
at least 2 KiB/s in a 10-second interval and at least 10 times more
in read direction than in write direction, or -1 if no such
statistics are included.
|
long |
getConnBiDirectStatsEndMillis()
Get the time in milliseconds since the epoch when the included
statistics on bi-directional connection usage ended, or
-1L
if no such statistics are included. |
long |
getConnBiDirectStatsIntervalLength()
Get the interval length of the included statistics on
bi-directional connection usage in seconds, or
-1L if
no such statistics are included. |
int |
getConnBiDirectWrite()
Get the number of connections on which this server read and wrote
at least 2 KiB/s in a 10-second interval and at least 10 times more
in write direction than in read direction, or
-1 if no such
statistics are included. |
java.lang.String |
getDigestSha1Hex()
Get the SHA-1 descriptor digest, encoded as 40 lower-case (relay
descriptors) or upper-case (bridge descriptors) hexadecimal
characters, that is used to reference this descriptor from a server
descriptor.
|
java.lang.String |
getDigestSha256Base64()
Get the SHA-256 descriptor digest, encoded as 43 base64
characters without padding characters, that may be used to reference
this descriptor from a server descriptor.
|
BandwidthHistory |
getDirreqReadHistory()
Get the directory request read history contained in this
descriptor, or
null if no such history is contained. |
long |
getDirreqStatsEndMillis()
Get the time in milliseconds since the epoch when the included
directory request statistics interval ended, or
-1L if no
such statistics are included. |
long |
getDirreqStatsIntervalLength()
Get the interval length of the included directory request
statistics in seconds, or -1 if no such statistics are included.
|
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV2DirectDl()
Get statistics on directory requests for v2 network statuses to
the server's directory port with map keys being statistic keys and
map values being statistic values like counts or quantiles, or
null if no such statistics are included (which is the case
with recent Tor versions). |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV2Ips()
Get statistics on unique IP addresses requesting v2 network
statuses with map keys being country codes and map values being
numbers of unique IP addresses rounded up to the nearest multiple of
8, or
null if no such statistics are included (which is the
case with recent Tor versions). |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV2Reqs()
Get statistics on directory requests for v2 network statuses with
map keys being country codes and map values being request numbers
rounded up to the nearest multiple of 8, or
null if no such
statistics are included (which is the case with recent Tor
versions). |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV2Resp()
Get statistics on responses to directory requests for v2 network
statuses with map keys being response strings and map values being
response numbers rounded up to the nearest multiple of 4, or
null if no such statistics are included (which is the case
with recent Tor versions). |
double |
getDirreqV2Share()
Get the share of requests for v2 network statuses that the server
expects to receive from clients, or -1.0 if this share is not
included (which is the case with recent Tor versions).
|
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV2TunneledDl()
Get statistics on directory requests for v2 network statuses
tunneled through a circuit with map keys being statistic keys and map
values being statistic values, or
null if no such statistics
are included (which is the case with recent Tor versions). |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV3DirectDl()
Get statistics on directory requests for v3 network status
consensuses of any flavor to the server's directory port with map
keys being statistic keys and map values being statistic values like
counts or quantiles, or
null if no such statistics are included. |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV3Ips()
Get statistics on unique IP addresses requesting v3 network
status consensuses of any flavor with map keys being country codes
and map values being numbers of unique IP addresses rounded up to the
nearest multiple of 8, or
null if no such statistics are included. |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV3Reqs()
Get statistics on directory requests for v3 network status
consensuses of any flavor with map keys being country codes and map
values being request numbers rounded up to the nearest multiple of 8,
or
null if no such statistics are included. |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV3Resp()
Get statistics on responses to directory requests for v3 network
status consensuses of any flavor with map keys being response strings
and map values being response numbers rounded up to the nearest
multiple of 4, or null if no such statistics are included.
|
double |
getDirreqV3Share()
Get the share of requests for v3 network status consensuses of
any flavor that the server expects to receive from clients, or -1.0
if this share is not included (which is the case with recent Tor
versions).
|
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getDirreqV3TunneledDl()
Get statistics on directory requests for v3 network status
consensuses of any flavor tunneled through a circuit with map keys
being statistic keys and map values being statistic values, or
null if no such statistics are included. |
BandwidthHistory |
getDirreqWriteHistory()
Get the directory request write history contained in this
descriptor, or
null if no such history is contained. |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getEntryIps()
Get statistics on client IP addresses with map keys being country
codes and map values being the number of unique IP addresses that
have connected from that country rounded up to the nearest multiple
of 8, or
null if no such statistics are included. |
long |
getEntryStatsEndMillis()
Get the time in milliseconds since the epoch when the included
entry statistics interval ended, or
-1L if no such statistics are
included. |
long |
getEntryStatsIntervalLength()
Get the interval length of the included entry statistics in
seconds, or
-1L if no such statistics are included. |
java.util.SortedMap<java.lang.String,java.lang.Long> |
getExitKibibytesRead()
Get statistics on KiB read from streams exiting the Tor network
by target TCP port with map keys being string representations of
ports (or
"other" ) and map values being KiB rounded up to the
next full KiB, or null if no such statistics are included. |
java.util.SortedMap<java.lang.String,java.lang.Long> |
getExitKibibytesWritten()
Get statistics on KiB written to streams exiting the Tor network
by target TCP port with map keys being string representations of
ports (or
"other" ) and map values being KiB rounded up to the
next full KiB, or null if no such statistics are included. |
long |
getExitStatsEndMillis()
Get the time in milliseconds since the epoch when the included
exit statistics interval ended, or -1 if no such statistics are
included.
|
long |
getExitStatsIntervalLength()
Get the interval length of the included exit statistics in
seconds, or -1 if no such statistics are included.
|
java.util.SortedMap<java.lang.String,java.lang.Long> |
getExitStreamsOpened()
Get statistics on opened streams exiting the Tor network by
target TCP port with map keys being string representations of ports
(or
"other" ) and map values being the number of opened
streams, rounded up to the nearest multiple of 4, or null
if no such statistics are included. |
java.lang.String |
getFingerprint()
Get the SHA-1 digest of the server's public identity key, encoded
as 40 upper-case hexadecimal characters, that is typically used to
uniquely identify the server.
|
java.lang.String |
getGeoip6DbDigestSha1Hex()
Get the SHA-1 digest of the GeoIPv6 database file used by this
server to resolve client IP addresses to country codes, encoded as 40
upper-case hexadecimal characters, or
null if no GeoIPv6 database
digest is included. |
java.util.SortedMap<java.lang.String,java.lang.Integer> |
getGeoipClientOrigins()
Get statistics on the origin of client IP addresses with map keys
being country codes and map values being the number of unique IP
addresses that have connected from that country between the start of
the statistics interval and the descriptor publication time rounded
up to the nearest multiple of 8, or
null if no such statistics are
included (which is the case except for very old Tor versions). |
java.lang.String |
getGeoipDbDigestSha1Hex()
Get the SHA-1 digest of the GeoIP database file used by this server
to resolve client IP addresses to country codes, encoded as 40
upper-case hexadecimal characters, or
null if no GeoIP database
digest is included. |
long |
getGeoipStartTimeMillis()
Get the time in milliseconds since the epoch when the included
"geoip" statistics interval started, or
-1L if no such
statistics are included (which is the case except for very old
Tor versions). |
java.lang.Double |
getHidservDirOnionsSeen()
Get the approximate number of unique hidden-service identities
seen in descriptors published to and accepted by this hidden-service
directory, or
null if no such statistics are included. |
java.util.Map<java.lang.String,java.lang.Double> |
getHidservDirOnionsSeenParameters()
Get the obfuscation parameters applied to the original
measurement value of unique hidden-service identities seen in
descriptors published to and accepted by this hidden-service
directory, or
null if no such statistics are included. |
java.lang.Double |
getHidservDirV3OnionsSeen()
Get the approximate number of unique version 3 onion service identities
seen in descriptors published to and accepted by this onion service
directory, or
null if no such statistics are included. |
java.util.Map<java.lang.String,java.lang.Double> |
getHidservDirV3OnionsSeenParameters()
Get the obfuscation parameters applied to the original measurement value
of unique version 3 onion service identities seen in descriptors published
to and accepted by this onion service directory, or
null if no such
statistics are included. |
java.lang.Double |
getHidservRendRelayedCells()
Get the approximate number of RELAY cells seen in either
direction on a circuit after receiving and successfully processing a
RENDEZVOUS1 cell, or
null if no such statistics are included. |
java.util.Map<java.lang.String,java.lang.Double> |
getHidservRendRelayedCellsParameters()
Get the obfuscation parameters applied to the original
measurement value of RELAY cells seen in either direction on a
circuit after receiving and successfully processing a RENDEZVOUS1
cell, or
null if no such statistics are included. |
java.lang.Double |
getHidservRendV3RelayedCells()
Get the approximate number of RELAY cells seen in either direction on a
version 3 onion service circuit after receiving and successfully processing
a RENDEZVOUS1 cell, or
null if no such statistics are included. |
java.util.Map<java.lang.String,java.lang.Double> |
getHidservRendV3RelayedCellsParameters()
Get the obfuscation parameters applied to the original measurement value
of RELAY cells seen in either direction on a version 3 onion service
circuit after receiving and successfully processing a RENDEZVOUS1 cell, or
null if no such statistics are included. |
long |
getHidservStatsEndMillis()
Get the time in milliseconds since the epoch when the included
hidden-service statistics interval ended, or
-1L if no
such statistics are included. |
long |
getHidservStatsIntervalLength()
Get the interval length of the included hidden-service statistics
in seconds, or
-1L if no such statistics are included. |
long |
getHidservV3StatsEndMillis()
Get the time in milliseconds since the epoch when the included version 3
onion service statistics interval ended, or
-1L if no such
statistics are included. |
long |
getHidservV3StatsIntervalLength()
Get the interval length of the included version 3 onion service
statistics in seconds, or
-1L if no such statistics are included. |
java.lang.String |
getIdentityEd25519()
Get the Ed25519 certificate in PEM format, or
null if the
descriptor doesn't contain one. |
int |
getIpv6ConnBiDirectBelow()
Get the number of IPv6 connections on which this server read and wrote
less than 2 KiB/s in a 10-second interval, or
-1 if no such
statistics are included. |
int |
getIpv6ConnBiDirectBoth()
Get the number of IPv6 connections on which this server read and wrote
at least 2 KiB/s in a 10-second interval but not 10 times more in
either direction, or
-1 if no such statistics are included. |
int |
getIpv6ConnBiDirectRead()
Get the number of IPv6 connections on which this server read and wrote
at least 2 KiB/s in a 10-second interval and at least 10 times more
in read direction than in write direction, or -1 if no such
statistics are included.
|
long |
getIpv6ConnBiDirectStatsEndMillis()
Get the time in milliseconds since the epoch when the included
statistics on bi-directional IPv6 connection usage ended, or
-1L
if no such statistics are included. |
long |
getIpv6ConnBiDirectStatsIntervalLength()
Get the interval length of the included statistics on
bi-directional IPv6 connection usage in seconds, or
-1L if no such
statistics are included. |
int |
getIpv6ConnBiDirectWrite()
Get the number of IPv6 connections on which this server read and wrote
at least 2 KiB/s in a 10-second interval and at least 10 times more
in write direction than in read direction, or
-1 if no such
statistics are included. |
BandwidthHistory |
getIpv6ReadHistory()
Get the server's history of read IPv6 bytes, or
null if the
descriptor does not contain a bandwidth history. |
BandwidthHistory |
getIpv6WriteHistory()
Get the server's history of written IPv6 bytes, or
null if the
descriptor does not contain a bandwidth history. |
java.lang.String |
getMasterKeyEd25519()
Get the Ed25519 master key, encoded as 43 base64 characters
without padding characters, which was either parsed from the optional
"master-key-ed25519" line or derived from the (likewise
optional) Ed25519 certificate following the
"identity-ed25519" line, or null if the descriptor contains
neither Ed25519 master key nor Ed25519 certificate. |
java.lang.String |
getNickname()
Get the server's nickname consisting of 1 to 19 alphanumeric
characters.
|
long |
getOverloadFdExhaustedTimestamp()
Get the server's descriptor exhaustion as a timestamp.
|
int |
getOverloadFdExhaustedVersion()
Get the version number in the overload-fd-exhausted line.
|
long |
getOverloadRatelimitsBurstLimit()
Get the server's burst-limit, or
-1L if the descriptor does not
contain a bandwidth overload rate limit. |
long |
getOverloadRatelimitsRateLimit()
Get the server's rate-limit, or
-1L if the descriptor does not
contain a bandwidth overload rate limit. |
int |
getOverloadRatelimitsReadCount()
Get the server's read-overload-count, or
-1L if the descriptor
does not contain a bandwidth overload rate limit. |
long |
getOverloadRatelimitsTimestamp()
Get the server's history exhausted bandwidth as a timestamp of the
last time this happened, or -1 if the descriptor does not
contain a bandwidth overload rate limit.
|
int |
getOverloadRatelimitsVersion()
Get the version number in the overload-ratelimits line or
0 if no overload-ratelimits line is present. |
int |
getOverloadRatelimitsWriteCount()
Get the server's write-overload-count, or -1 if the descriptor does not
contain a bandwidth overload rate limit.
|
java.util.Map<java.lang.String,java.lang.Long> |
getPaddingCounts()
Get padding-counts statistics, or
null if no such
statistics are included. |
long |
getPaddingCountsStatsEndMillis()
Get the time in milliseconds since the epoch when the included
padding-counts statistics ended, or
-1L if no such statistics
are included. |
long |
getPaddingCountsStatsIntervalLength()
Get the interval length of the included padding-counts statistics in
seconds, or
-1 if no such statistics are included. |
long |
getPublishedMillis()
Get the time in milliseconds since the epoch when this descriptor
and the corresponding server descriptor were generated.
|
BandwidthHistory |
getReadHistory()
Get the server's history of read bytes, or
null if the descriptor
does not contain a bandwidth history; older Tor versions included
bandwidth histories in their server descriptors
(ServerDescriptor.getReadHistory() ). |
java.lang.String |
getRouterSignature()
Get the RSA-1024 signature of the PKCS1-padded descriptor digest,
taken from the beginning of the router line through the newline after
the router-signature line, or
null if the descriptor
doesn't contain a signature (which is the case in sanitized bridge
descriptors). |
java.lang.String |
getRouterSignatureEd25519()
Get the Ed25519 signature of the SHA-256 digest of the entire
descriptor, encoded as 86 base64 characters without padding
characters, from the first character up to and including the first
space after the
"router-sig-ed25519" string, prefixed with
the string "Tor router descriptor signature v1" . |
java.util.List<java.lang.String> |
getTransports()
Get the (possibly empty) list of pluggable transports supported
by this server.
|
BandwidthHistory |
getWriteHistory()
Get the server's history of written bytes, or
null if the
descriptor does not contain a bandwidth history; older Tor versions
included bandwidth histories in their server descriptors
(ServerDescriptor.getWriteHistory() ). |
getAnnotations, getDescriptorFile, getRawDescriptorBytes, getRawDescriptorLength, getUnrecognizedLines
java.lang.String getDigestSha1Hex()
java.lang.String getDigestSha256Base64()
java.lang.String getNickname()
java.lang.String getFingerprint()
long getPublishedMillis()
BandwidthHistory getReadHistory()
null
if the descriptor
does not contain a bandwidth history; older Tor versions included
bandwidth histories in their server descriptors
(ServerDescriptor.getReadHistory()
).null
BandwidthHistory getWriteHistory()
null
if the
descriptor does not contain a bandwidth history; older Tor versions
included bandwidth histories in their server descriptors
(ServerDescriptor.getWriteHistory()
).null
BandwidthHistory getIpv6WriteHistory()
null
if the
descriptor does not contain a bandwidth history.null
BandwidthHistory getIpv6ReadHistory()
null
if the
descriptor does not contain a bandwidth history.null
int getOverloadRatelimitsVersion()
0
if no overload-ratelimits line is present.0
long getOverloadRatelimitsTimestamp()
-1L
long getOverloadRatelimitsRateLimit()
-1L
if the descriptor does not
contain a bandwidth overload rate limit.-1L
long getOverloadRatelimitsBurstLimit()
-1L
if the descriptor does not
contain a bandwidth overload rate limit.-1L
int getOverloadRatelimitsReadCount()
-1L
if the descriptor
does not contain a bandwidth overload rate limit.-1L
int getOverloadRatelimitsWriteCount()
-1
int getOverloadFdExhaustedVersion()
0
long getOverloadFdExhaustedTimestamp()
-1L
is returned if the descriptor does not contain a
file descriptor exhaustion.-1L
java.lang.String getGeoipDbDigestSha1Hex()
null
if no GeoIP database
digest is included.null
java.lang.String getGeoip6DbDigestSha1Hex()
null
if no GeoIPv6 database
digest is included.null
long getDirreqStatsEndMillis()
-1L
if no
such statistics are included.-1
long getDirreqStatsIntervalLength()
-1L
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV2Ips()
null
if no such statistics are included (which is the
case with recent Tor versions).null
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV3Ips()
null
if no such statistics are included.null
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV2Reqs()
null
if no such
statistics are included (which is the case with recent Tor
versions).null
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV3Reqs()
null
if no such statistics are included.null
double getDirreqV2Share()
-1L
double getDirreqV3Share()
-1L
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV2Resp()
null
if no such statistics are included (which is the case
with recent Tor versions).null
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV3Resp()
null
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV2DirectDl()
null
if no such statistics are included (which is the case
with recent Tor versions).null
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV3DirectDl()
null
if no such statistics are included.null
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV2TunneledDl()
null
if no such statistics
are included (which is the case with recent Tor versions).null
java.util.SortedMap<java.lang.String,java.lang.Integer> getDirreqV3TunneledDl()
null
if no such statistics are included.null
BandwidthHistory getDirreqReadHistory()
null
if no such history is contained.null
BandwidthHistory getDirreqWriteHistory()
null
if no such history is contained.null
long getEntryStatsEndMillis()
-1L
if no such statistics are
included.-1L
long getEntryStatsIntervalLength()
-1L
if no such statistics are included.-1L
java.util.SortedMap<java.lang.String,java.lang.Integer> getEntryIps()
null
if no such statistics are included.null
long getCellStatsEndMillis()
-1L
if no such
statistics are included.-1L
long getCellStatsIntervalLength()
-1L
if no such statistics are included.-1L
java.util.List<java.lang.Integer> getCellProcessedCells()
null
if no such statistics are included.null
java.util.List<java.lang.Double> getCellQueuedCells()
null
if no such statistics are
included.null
java.util.List<java.lang.Integer> getCellTimeInQueue()
null
if no such
statistics are included.null
int getCellCircuitsPerDecile()
-1
if no such statistics are included.-1
long getConnBiDirectStatsEndMillis()
-1L
if no such statistics are included.-1L
long getConnBiDirectStatsIntervalLength()
-1L
if
no such statistics are included.-1L
int getConnBiDirectBelow()
-1
if no such
statistics are included.-1
int getConnBiDirectRead()
-1
int getConnBiDirectWrite()
-1
if no such
statistics are included.-1
int getConnBiDirectBoth()
-1
if no such statistics are included.-1
long getIpv6ConnBiDirectStatsEndMillis()
-1L
if no such statistics are included.-1L
long getIpv6ConnBiDirectStatsIntervalLength()
-1L
if no such
statistics are included.-1L
int getIpv6ConnBiDirectBelow()
-1
if no such
statistics are included.-1
int getIpv6ConnBiDirectRead()
-1
int getIpv6ConnBiDirectWrite()
-1
if no such
statistics are included.-1
int getIpv6ConnBiDirectBoth()
-1
if no such statistics are included.-1
long getExitStatsEndMillis()
long getExitStatsIntervalLength()
java.util.SortedMap<java.lang.String,java.lang.Long> getExitKibibytesWritten()
"other"
) and map values being KiB rounded up to the
next full KiB, or null
if no such statistics are included.null
java.util.SortedMap<java.lang.String,java.lang.Long> getExitKibibytesRead()
"other"
) and map values being KiB rounded up to the
next full KiB, or null
if no such statistics are included.null
java.util.SortedMap<java.lang.String,java.lang.Long> getExitStreamsOpened()
"other"
) and map values being the number of opened
streams, rounded up to the nearest multiple of 4, or null
if no such statistics are included.null
long getGeoipStartTimeMillis()
-1L
if no such
statistics are included (which is the case except for very old
Tor versions).-1L
java.util.SortedMap<java.lang.String,java.lang.Integer> getGeoipClientOrigins()
null
if no such statistics are
included (which is the case except for very old Tor versions).null
long getBridgeStatsEndMillis()
-1
long getBridgeStatsIntervalLength()
-1L
if no such statistics are included.-1L
java.util.SortedMap<java.lang.String,java.lang.Integer> getBridgeIps()
java.util.SortedMap<java.lang.String,java.lang.Integer> getBridgeIpVersions()
"v4"
or "v6"
,
and map values being the number of unique IP addresses rounded up to
the nearest multiple of 8, or null
if no such statistics are
included.null
java.util.SortedMap<java.lang.String,java.lang.Integer> getBridgeIpTransports()
"obfs2"
or
"obfs3"
for known transports, "<OR>"
for the default
onion routing protocol, or "<??>"
for an unknown transport,
and map values being the number of unique IP addresses rounded up to
the nearest multiple of 8, or null
if no such statistics are
included.null
java.util.List<java.lang.String> getTransports()
long getHidservStatsEndMillis()
-1L
if no
such statistics are included.-1L
long getHidservStatsIntervalLength()
-1L
if no such statistics are included.-1L
java.lang.Double getHidservRendRelayedCells()
null
if no such statistics are included.null
java.util.Map<java.lang.String,java.lang.Double> getHidservRendRelayedCellsParameters()
null
if no such statistics are included.null
java.lang.Double getHidservDirOnionsSeen()
null
if no such statistics are included.null
java.util.Map<java.lang.String,java.lang.Double> getHidservDirOnionsSeenParameters()
null
if no such statistics are included.null
long getHidservV3StatsEndMillis()
-1L
if no such
statistics are included.-1L
long getHidservV3StatsIntervalLength()
-1L
if no such statistics are included.-1L
java.lang.Double getHidservRendV3RelayedCells()
null
if no such statistics are included.null
java.util.Map<java.lang.String,java.lang.Double> getHidservRendV3RelayedCellsParameters()
null
if no such statistics are included.null
java.lang.Double getHidservDirV3OnionsSeen()
null
if no such statistics are included.null
java.util.Map<java.lang.String,java.lang.Double> getHidservDirV3OnionsSeenParameters()
null
if no such
statistics are included.null
long getPaddingCountsStatsEndMillis()
-1L
if no such statistics
are included.-1L
long getPaddingCountsStatsIntervalLength()
-1
if no such statistics are included.-1L
java.util.Map<java.lang.String,java.lang.Long> getPaddingCounts()
null
if no such
statistics are included.null
java.lang.String getRouterSignature()
null
if the descriptor
doesn't contain a signature (which is the case in sanitized bridge
descriptors).null
java.lang.String getIdentityEd25519()
null
if the
descriptor doesn't contain one.java.lang.String getMasterKeyEd25519()
"master-key-ed25519"
line or derived from the (likewise
optional) Ed25519 certificate following the
"identity-ed25519"
line, or null
if the descriptor contains
neither Ed25519 master key nor Ed25519 certificate.null
java.lang.String getRouterSignatureEd25519()
"router-sig-ed25519"
string, prefixed with
the string "Tor router descriptor signature v1"
.