public Xdr sendAndWait(String serverIP, int port, boolean usePrivilegedPort, Xdr xdrRequest, int timeout) throws RpcException {
        InetSocketAddress key = InetSocketAddress.createUnresolved(serverIP, port);

        Map<InetSocketAddress, Connection> connectionMap = usePrivilegedPort ? _privilegedConnectionMap : _connectionMap;
        Connection connection = connectionMap.get(key);
        if (connection == null) {
            connection = new Connection(serverIP, port, usePrivilegedPort);
            connectionMap.put(key, connection);
            connection.connect();
        }

        return connection.sendAndWait(timeout, xdrRequest);
    }
public Xdr sendAndWait ( String serverIP , int port , boolean usePrivilegedPort , Xdr xdrRequest , int timeout ) throws RpcException { InetSocketAddress key = InetSocketAddress . createUnresolved ( serverIP , port ) ; Map < InetSocketAddress , Connection > connectionMap = usePrivilegedPort ? _privilegedConnectionMap : _connectionMap ; Connection connection = connectionMap . get ( key ) ; if ( connection == null ) { connection = new Connection ( serverIP , port , usePrivilegedPort ) ; connectionMap . put ( key , connection ) ; connection . connect ( ) ; } return connection . sendAndWait ( timeout , xdrRequest ) ; }
Basic RPC call functionality only. Send the request, creating a new
connection as necessary, and return the raw Xdr returned.

@param serverIP
The endpoint of the server being called.
@param port
The remote host port being called for this operation.
@param usePrivilegedPort
<ul>
<li>If <code>true</code>, use a privileged local port (below
1024) for RPC communication.</li>
<li>If <code>false</code>, use any non-privileged local port
for RPC communication.</li>
</ul>
@param xdrRequest
The Xdr data for the request.
@param timeout
The timeout in seconds.
@return The Xdr data for the response.
@throws RpcException