|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.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 SocketInputWrapper |
getInputStream(Socket socket,
long timeout)
Return a SocketInputWrapper for the socket and set the given
timeout. |
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. |
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, socket.getSoTimeout()).
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()
.
IOException
getInputStream(Socket, long)
public static SocketInputWrapper getInputStream(Socket socket, long timeout) throws IOException
SocketInputWrapper
for the socket and set the given
timeout. If the socket does not have an associated channel, then its socket
timeout will be set to the specified value. Otherwise, a
SocketInputStream
will be created which reads with the configured
timeout.
Any socket created using socket factories returned by NetUtils
,
must use this interface instead of Socket.getInputStream()
.
In general, this should be called only once on each socket: see the note
in SocketInputWrapper.setTimeout(long)
for more information.
socket
- timeout
- timeout in milliseconds. 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 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 |