|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.net.NetUtils
public class NetUtils
Constructor Summary | |
---|---|
NetUtils()
|
Method Summary | |
---|---|
static void |
addStaticResolution(String host,
String resolvedName)
Adds a static resolution for host. |
static void |
connect(Socket socket,
SocketAddress address,
int timeout)
This is a drop-in replacement for Socket.connect(SocketAddress, int) . |
static void |
connect(Socket socket,
SocketAddress endpoint,
SocketAddress localAddr,
int timeout)
Like connect(Socket, SocketAddress, int) but
also takes a local address and port to bind the socket to. |
static InetSocketAddress |
createSocketAddr(String target)
Util method to build socket addr from either: |
static InetSocketAddress |
createSocketAddr(String target,
int defaultPort)
Util method to build socket addr from either: |
static List<String[]> |
getAllStaticResolutions()
This is used to get all the resolutions that were added using addStaticResolution(String, String) . |
static URI |
getCanonicalUri(URI uri,
int defaultPort)
Resolve the uri's hostname and add the default port if not in the uri |
static InetSocketAddress |
getConnectAddress(Server server)
Returns InetSocketAddress that a client can use to connect to the server. |
static SocketFactory |
getDefaultSocketFactory(Configuration conf)
Get the default socket factory as specified by the configuration parameter hadoop.rpc.socket.factory.default |
static InputStream |
getInputStream(Socket socket)
Same as getInputStream(socket, socket.getSoTimeout()). From documentation for getInputStream(Socket, long) :Returns InputStream for the socket. |
static InputStream |
getInputStream(Socket socket,
long timeout)
Returns InputStream for the socket. |
static List<InetAddress> |
getIPs(String subnet,
boolean returnSubinterfaces)
Return an InetAddress for each interface that matches the given subnet specified using CIDR notation. |
static InetAddress |
getLocalInetAddress(String host)
Checks if host is a local host name and return InetAddress
corresponding to that address. |
static OutputStream |
getOutputStream(Socket socket)
Same as getOutputStream(socket, 0). |
static OutputStream |
getOutputStream(Socket socket,
long timeout)
Returns OutputStream for the socket. |
static String |
getServerAddress(Configuration conf,
String oldBindAddressName,
String oldPortName,
String newBindAddressName)
Deprecated. |
static SocketFactory |
getSocketFactory(Configuration conf,
Class<?> clazz)
Get the socket factory for the given class according to its configuration parameter hadoop.rpc.socket.factory.class.<ClassName>. |
static SocketFactory |
getSocketFactoryFromProperty(Configuration conf,
String propValue)
Get the socket factory corresponding to the given proxy URI. |
static String |
getStaticResolution(String host)
Retrieves the resolved name for the passed host. |
static boolean |
isValidSubnet(String subnet)
|
static InetSocketAddress |
makeSocketAddr(String host,
int port)
Create a socket address with the given host and port. |
static String |
normalizeHostName(String name)
Given a string representation of a host, return its ip address in textual presentation. |
static List<String> |
normalizeHostNames(Collection<String> names)
Given a collection of string representation of hosts, return a list of corresponding IP addresses in the textual representation. |
static void |
verifyHostnames(String[] names)
Performs a sanity check on the list of hostnames/IPs to verify they at least appear to be valid. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public NetUtils()
Method Detail |
---|
public static SocketFactory getSocketFactory(Configuration conf, Class<?> clazz)
conf
- the configurationclazz
- the class (usually a VersionedProtocol
)
public static SocketFactory getDefaultSocketFactory(Configuration conf)
conf
- the configuration
public static SocketFactory getSocketFactoryFromProperty(Configuration conf, String propValue)
propValue
- the property which is the class name of the
SocketFactory to instantiate; assumed non null and non empty.
public static InetSocketAddress createSocketAddr(String target)
public static InetSocketAddress createSocketAddr(String target, int defaultPort)
public static InetSocketAddress makeSocketAddr(String host, int port)
addStaticResolution(String, String)
. The value of
hadoop.security.token.service.use_ip will determine whether the
standard java host resolver is used, or if the fully qualified resolver
is used.
host
- the hostname or IP use to instantiate the objectport
- the port number
public static URI getCanonicalUri(URI uri, int defaultPort)
uri
- to resolvedefaultPort
- if none is given
UnknownHostException
@Deprecated public static String getServerAddress(Configuration conf, String oldBindAddressName, String oldPortName, String newBindAddressName)
conf
- the configuration to checkoldBindAddressName
- the old address attribute nameoldPortName
- the old port attribute namenewBindAddressName
- the new combined name
public static void addStaticResolution(String host, String resolvedName)
getStaticResolution(String)
can be used to query for
the actual hostname.
host
- resolvedName
- public static String getStaticResolution(String host)
addStaticResolution(String, String)
host
-
public static List<String[]> getAllStaticResolutions()
addStaticResolution(String, String)
. The return
value is a List each element of which contains an array of String
of the form String[0]=hostname, String[1]=resolved-hostname
public static InetSocketAddress getConnectAddress(Server server)
server
-
public static InputStream getInputStream(Socket socket) throws IOException
getInputStream(Socket, long)
:SocketInputStream
with the given timeout. If the socket does not
have a channel, Socket.getInputStream()
is returned. In the later
case, the timeout argument is ignored and the timeout set with
Socket.setSoTimeout(int)
applies for reads.NetUtils
,
must use this interface instead of Socket.getInputStream()
.
socket
-
IOException
getInputStream(Socket, long)
public static InputStream getInputStream(Socket socket, long timeout) throws IOException
SocketInputStream
with the given timeout. If the socket does not
have a channel, Socket.getInputStream()
is returned. In the later
case, the timeout argument is ignored and the timeout set with
Socket.setSoTimeout(int)
applies for reads.NetUtils
,
must use this interface instead of Socket.getInputStream()
.
socket
- timeout
- timeout in milliseconds. This may not always apply. zero
for waiting as long as necessary.
IOException
Socket.getChannel()
public static OutputStream getOutputStream(Socket socket) throws IOException
getOutputStream(Socket, long)
: SocketOutputStream
with the given timeout. If the socket does not
have a channel, Socket.getOutputStream()
is returned. In the later
case, the timeout argument is ignored and the write will wait until
data is available.NetUtils
,
must use this interface instead of Socket.getOutputStream()
.
socket
-
IOException
getOutputStream(Socket, long)
public static OutputStream getOutputStream(Socket socket, long timeout) throws IOException
SocketOutputStream
with the given timeout. If the socket does not
have a channel, Socket.getOutputStream()
is returned. In the later
case, the timeout argument is ignored and the write will wait until
data is available.NetUtils
,
must use this interface instead of Socket.getOutputStream()
.
socket
- timeout
- timeout in milliseconds. This may not always apply. zero
for waiting as long as necessary.
IOException
Socket.getChannel()
public static void connect(Socket socket, SocketAddress address, int timeout) throws IOException
Socket.connect(SocketAddress, int)
.
In the case of normal sockets that don't have associated channels, this
just invokes socket.connect(endpoint, timeout)
. If
socket.getChannel()
returns a non-null channel,
connect is implemented using Hadoop's selectors. This is done mainly
to avoid Sun's connect implementation from creating thread-local
selectors, since Hadoop does not have control on when these are closed
and could end up taking all the available file descriptors.
socket
- address
- the remote addresstimeout
- timeout in milliseconds
IOException
Socket.connect(java.net.SocketAddress, int)
public static void connect(Socket socket, SocketAddress endpoint, SocketAddress localAddr, int timeout) throws IOException
connect(Socket, SocketAddress, int)
but
also takes a local address and port to bind the socket to.
socket
- endpoint
- the remote addresslocalAddr
- the local address to bind the socket totimeout
- timeout in milliseconds
IOException
public static String normalizeHostName(String name)
name
- a string representation of a host:
either a textual representation its IP address or its host name
public static List<String> normalizeHostNames(Collection<String> names)
names
- a collection of string representations of hosts
normalizeHostName(String)
public static void verifyHostnames(String[] names) throws UnknownHostException
names
- - List of hostnames/IPs
UnknownHostException
public static InetAddress getLocalInetAddress(String host) throws SocketException
host
is a local host name and return InetAddress
corresponding to that address.
host
- the specified host
InetAddress
or null
SocketException
- if an I/O error occurspublic static boolean isValidSubnet(String subnet)
public static List<InetAddress> getIPs(String subnet, boolean returnSubinterfaces)
subnet
- subnet specified using CIDR notationreturnSubinterfaces
- whether to return IPs associated with subinterfaces
IllegalArgumentException
- if subnet is invalid
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |