RouteInfo  |  API reference  |  Android Developers


public final class RouteInfo
extends Object implements Parcelable



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

From interface android.os.Parcelable

int CONTENTS_FILE_DESCRIPTOR

Descriptor bit used with describeContents(): indicates that the Parcelable object's flattened representation includes a file descriptor.

int PARCELABLE_WRITE_RETURN_VALUE

Flag for use with writeToParcel(Parcel, int): the object being written is a return value, that is the result of a function such as "Parcelable someFunction()", "void someFunction(out Parcelable)", or "void someFunction(inout Parcelable)".

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

From class java.lang.Object

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

From interface android.os.Parcelable

abstract int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

abstract void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Constants

RTN_THROW

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

public static final int RTN_UNICAST

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

Constant Value: 1 (0x00000001)

RTN_UNREACHABLE

public static final int RTN_UNREACHABLE

Unreachable route. Indicates that destination is unreachable.

Constant Value: 7 (0x00000007)

Fields

CREATOR

public static final Creator<RouteInfo> CREATOR

Implement the Parcelable interface.

Public methods

describeContents

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

equals

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

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

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

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

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 one of the following:

hasGateway

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

public int hashCode ()

Returns a hashcode for this RouteInfo object.

Returns
int a hash code value for this object.

isDefaultRoute

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

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

public String toString ()

Returns a human-readable description of this object.

Returns
String a string representation of the object.