org.apache.hadoop.ipc
Class RPC

java.lang.Object
  extended by org.apache.hadoop.ipc.RPC

public class RPC
extends Object

A simple RPC mechanism. A protocol is a Java interface. All parameters and return types must be one of:

All methods in the protocol should throw only IOException. No field data of the protocol instance is transmitted.


Nested Class Summary
static class RPC.Server
          An RPC Server.
static class RPC.VersionMismatch
          A version mismatch for the RPC protocol.
 
Method Summary
static Object[] call(Method method, Object[][] params, InetSocketAddress[] addrs, Configuration conf)
          Deprecated. Use call(Method, Object[][], InetSocketAddress[], UserGroupInformation, Configuration) instead
static Object[] call(Method method, Object[][] params, InetSocketAddress[] addrs, UserGroupInformation ticket, Configuration conf)
          Expert: Make multiple, parallel calls to a set of servers.
static void checkVersion(Class<? extends VersionedProtocol> protocol, long clientVersion, VersionedProtocol proxy)
          Get server version and then compare it with client version.
static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, Configuration conf)
          Construct a client-side proxy object with the default SocketFactory
static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, Configuration conf, int rpcTimeout)
           
static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, Configuration conf, SocketFactory factory)
          Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.
static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, Configuration conf, SocketFactory factory, int rpcTimeout)
          Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.
static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, UserGroupInformation ticket, Configuration conf, SocketFactory factory)
          Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.
static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, UserGroupInformation ticket, Configuration conf, SocketFactory factory, int rpcTimeout)
          Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.
static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, UserGroupInformation ticket, Configuration conf, SocketFactory factory, int rpcTimeout, RetryPolicy connectionRetryPolicy, boolean checkVersion)
          Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.
static RPC.Server getServer(Object instance, String bindAddress, int port, Configuration conf)
          Construct a server for a protocol implementation instance listening on a port and address.
static RPC.Server getServer(Object instance, String bindAddress, int port, int numHandlers, boolean verbose, Configuration conf)
          Construct a server for a protocol implementation instance listening on a port and address.
static RPC.Server getServer(Object instance, String bindAddress, int port, int numHandlers, boolean verbose, Configuration conf, SecretManager<? extends TokenIdentifier> secretManager)
          Construct a server for a protocol implementation instance listening on a port and address, with a secret manager.
static void stopProxy(VersionedProtocol proxy)
          Stop this proxy and release its invoker's resource
static VersionedProtocol waitForProxy(Class<? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, Configuration conf)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

waitForProxy

public static VersionedProtocol waitForProxy(Class<? extends VersionedProtocol> protocol,
                                             long clientVersion,
                                             InetSocketAddress addr,
                                             Configuration conf)
                                      throws IOException
Throws:
IOException

getProxy

public static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol,
                                         long clientVersion,
                                         InetSocketAddress addr,
                                         Configuration conf,
                                         SocketFactory factory)
                                  throws IOException
Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.

Throws:
IOException

getProxy

public static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol,
                                         long clientVersion,
                                         InetSocketAddress addr,
                                         Configuration conf,
                                         SocketFactory factory,
                                         int rpcTimeout)
                                  throws IOException
Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.

Throws:
IOException

getProxy

public static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol,
                                         long clientVersion,
                                         InetSocketAddress addr,
                                         UserGroupInformation ticket,
                                         Configuration conf,
                                         SocketFactory factory)
                                  throws IOException
Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.

Throws:
IOException

getProxy

public static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol,
                                         long clientVersion,
                                         InetSocketAddress addr,
                                         UserGroupInformation ticket,
                                         Configuration conf,
                                         SocketFactory factory,
                                         int rpcTimeout)
                                  throws IOException
Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.

Throws:
IOException

getProxy

public static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol,
                                         long clientVersion,
                                         InetSocketAddress addr,
                                         UserGroupInformation ticket,
                                         Configuration conf,
                                         SocketFactory factory,
                                         int rpcTimeout,
                                         RetryPolicy connectionRetryPolicy,
                                         boolean checkVersion)
                                  throws IOException
Construct a client-side proxy object that implements the named protocol, talking to a server at the named address.

Throws:
IOException

checkVersion

public static void checkVersion(Class<? extends VersionedProtocol> protocol,
                                long clientVersion,
                                VersionedProtocol proxy)
                         throws IOException
Get server version and then compare it with client version.

Throws:
IOException

getProxy

public static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol,
                                         long clientVersion,
                                         InetSocketAddress addr,
                                         Configuration conf)
                                  throws IOException
Construct a client-side proxy object with the default SocketFactory

Parameters:
protocol -
clientVersion -
addr -
conf -
Returns:
a proxy instance
Throws:
IOException

getProxy

public static VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol,
                                         long clientVersion,
                                         InetSocketAddress addr,
                                         Configuration conf,
                                         int rpcTimeout)
                                  throws IOException
Throws:
IOException

stopProxy

public static void stopProxy(VersionedProtocol proxy)
Stop this proxy and release its invoker's resource

Parameters:
proxy - the proxy to be stopped

call

public static Object[] call(Method method,
                            Object[][] params,
                            InetSocketAddress[] addrs,
                            Configuration conf)
                     throws IOException,
                            InterruptedException
Deprecated. Use call(Method, Object[][], InetSocketAddress[], UserGroupInformation, Configuration) instead

Expert: Make multiple, parallel calls to a set of servers.

Throws:
IOException
InterruptedException

call

public static Object[] call(Method method,
                            Object[][] params,
                            InetSocketAddress[] addrs,
                            UserGroupInformation ticket,
                            Configuration conf)
                     throws IOException,
                            InterruptedException
Expert: Make multiple, parallel calls to a set of servers.

Throws:
IOException
InterruptedException

getServer

public static RPC.Server getServer(Object instance,
                                   String bindAddress,
                                   int port,
                                   Configuration conf)
                            throws IOException
Construct a server for a protocol implementation instance listening on a port and address.

Throws:
IOException

getServer

public static RPC.Server getServer(Object instance,
                                   String bindAddress,
                                   int port,
                                   int numHandlers,
                                   boolean verbose,
                                   Configuration conf)
                            throws IOException
Construct a server for a protocol implementation instance listening on a port and address.

Throws:
IOException

getServer

public static RPC.Server getServer(Object instance,
                                   String bindAddress,
                                   int port,
                                   int numHandlers,
                                   boolean verbose,
                                   Configuration conf,
                                   SecretManager<? extends TokenIdentifier> secretManager)
                            throws IOException
Construct a server for a protocol implementation instance listening on a port and address, with a secret manager.

Throws:
IOException


Copyright © 2009 The Apache Software Foundation