RouteInfo


public final class RouteInfo
extends Object implements Parcelable

java.lang.Object
   ↳ android.net.RouteInfo


Represents a network route.

This is used both to describe static network configuration and live network configuration information. A route contains three pieces of information:

  • a destination IpPrefix specifying the network destinations covered by this route. If this is null it indicates a default route of the address family (IPv4 or IPv6) implied by the gateway IP address.
  • a gateway InetAddress indicating the next hop to use. If this is null it indicates a directly-connected route.
  • an interface (which may be unspecified).
Either the destination or the gateway may be null, but not both. If the destination and gateway are both specified, they must be of the same address family (IPv4 or IPv6).

Summary

Constants

int RTN_THROW

Throw route.

int RTN_UNICAST

Unicast route.

int RTN_UNREACHABLE

Unreachable route.

Inherited constants

Fields

public static final Creator<RouteInfo> CREATOR

Implement the Parcelable interface.

Public methods

int describeContents()

Implement the Parcelable interface

boolean equals(Object obj)

Compares this RouteInfo object against the specified object and indicates if they are equal.

IpPrefix getDestination()

Retrieves the destination address and prefix length in the form of an IpPrefix.

InetAddress getGateway()

Retrieves the gateway or next hop InetAddress for this route.

String getInterface()

Retrieves the interface used for this route if specified, else null.

int getType()

Retrieves the type of this route.

boolean hasGateway()

Indicates if this route has a next hop (true) or is directly-connected (false).

int hashCode()

Returns a hashcode for this RouteInfo object.

boolean isDefaultRoute()

Indicates if this route is a default route (ie, has no destination specified).

boolean matches(InetAddress destination)

Determines whether the destination and prefix of this route includes the specified address.

String toString()

Returns a human-readable description of this object.

void writeToParcel(Parcel dest, int flags)

Implement the Parcelable interface

Inherited methods

Constants

RTN_THROW

Added in API level 33
public static final int RTN_THROW

Throw route. Indicates that routing information about this destination is not in this table. Routing lookup should continue in another table.

Constant Value: 9 (0x00000009)

RTN_UNICAST

Added in API level 33
public static final int RTN_UNICAST

Unicast route. Indicates that destination is reachable directly or via gateway.

Constant Value: 1 (0x00000001)

RTN_UNREACHABLE

Added in API level 33
public static final int RTN_UNREACHABLE

Unreachable route. Indicates that destination is unreachable.

Constant Value: 7 (0x00000007)

Fields

CREATOR

Added in API level 21
public static final Creator<RouteInfo> CREATOR

Implement the Parcelable interface.

Public methods

describeContents

Added in API level 21
public int describeContents ()

Implement the Parcelable interface

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 21
public boolean equals (Object obj)

Compares this RouteInfo object against the specified object and indicates if they are equal.

Parameters
obj Object: This value may be null.

Returns
boolean true if the objects are equal, false otherwise.

getDestination

Added in API level 21
public IpPrefix getDestination ()

Retrieves the destination address and prefix length in the form of an IpPrefix.

Returns
IpPrefix IpPrefix specifying the destination. This is never null.

getGateway

Added in API level 21
public InetAddress getGateway ()

Retrieves the gateway or next hop InetAddress for this route.

Returns
InetAddress InetAddress specifying the gateway or next hop. This may be null for a directly-connected route."

getInterface

Added in API level 21
public String getInterface ()

Retrieves the interface used for this route if specified, else null.

Returns
String The name of the interface used for this route.

getType

Added in API level 33
public int getType ()

Retrieves the type of this route.

Returns
int The type of this route; one of the RTN_xxx constants defined in this class. Value is RTN_UNICAST, RTN_UNREACHABLE, or RTN_THROW

hasGateway

Added in API level 29
public boolean hasGateway ()

Indicates if this route has a next hop (true) or is directly-connected (false).

Returns
boolean true if a gateway is specified

hashCode

Added in API level 21
public int hashCode ()

Returns a hashcode for this RouteInfo object.

Returns
int a hash code value for this object.

isDefaultRoute

Added in API level 21
public boolean isDefaultRoute ()

Indicates if this route is a default route (ie, has no destination specified).

Returns
boolean true if the destination has a prefix length of 0.

matches

Added in API level 21
public boolean matches (InetAddress destination)

Determines whether the destination and prefix of this route includes the specified address.

Parameters
destination InetAddress: A InetAddress to test to see if it would match this route.

Returns
boolean true if the destination and prefix length cover the given address.

toString

Added in API level 21
public String toString ()

Returns a human-readable description of this object.

Returns
String a string representation of the object.

writeToParcel

Added in API level 21
public void writeToParcel (Parcel dest, 
                int flags)

Implement the Parcelable interface

Parameters
dest Parcel: The Parcel in which the object should be written. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES