hudson.remoting
Interface VirtualChannel

All Known Implementing Classes:
Channel, LocalChannel

public interface VirtualChannel

Virtualized Channel that allows different implementations.

Author:
Kohsuke Kawaguchi

Method Summary
<V,T extends java.lang.Throwable>
V
call(Callable<V,T> callable)
          Makes a remote procedure call.
<V,T extends java.lang.Throwable>
Future<V>
callAsync(Callable<V,T> callable)
          Makes an asynchronous remote procedure call.
 void close()
          Performs an orderly shut down of this channel (and the remote peer.)
<T> T
export(java.lang.Class<T> type, T instance)
          Exports an object for remoting to the other Channel by creating a remotable proxy.
 void join()
          Waits for this Channel to be closed down.
 void join(long timeout)
          Waits for this Channel to be closed down, but only up the given milliseconds.
 void syncLocalIO()
          Blocks until all the I/O packets sent from remote is fully locally executed, then return.
 

Method Detail

call

<V,T extends java.lang.Throwable> V call(Callable<V,T> callable)
       throws java.io.IOException,
              T extends java.lang.Throwable,
              java.lang.InterruptedException
Makes a remote procedure call.

Sends Callable to the remote system, executes it, and returns its result.

Throws:
java.lang.InterruptedException - If the current thread is interrupted while waiting for the completion.
java.io.IOException - If there's any error in the communication between Channels.
T extends java.lang.Throwable

callAsync

<V,T extends java.lang.Throwable> Future<V> callAsync(Callable<V,T> callable)
                    throws java.io.IOException
Makes an asynchronous remote procedure call.

Similar to call(Callable) but returns immediately. The result of the Callable can be obtained through the Future object.

Returns:
The Future object that can be used to wait for the completion.
Throws:
java.io.IOException - If there's an error during the communication.

close

void close()
           throws java.io.IOException
Performs an orderly shut down of this channel (and the remote peer.)

Throws:
java.io.IOException - if the orderly shut-down failed.

join

void join()
          throws java.lang.InterruptedException
Waits for this Channel to be closed down. The close-down of a Channel might be initiated locally or remotely.

Throws:
java.lang.InterruptedException - If the current thread is interrupted while waiting for the completion.
Since:
1.300

join

void join(long timeout)
          throws java.lang.InterruptedException
Waits for this Channel to be closed down, but only up the given milliseconds.

Throws:
java.lang.InterruptedException - If the current thread is interrupted while waiting for the completion.
Since:
1.300

export

<T> T export(java.lang.Class<T> type,
             T instance)
Exports an object for remoting to the other Channel by creating a remotable proxy.

All the parameters and return values must be serializable.

Parameters:
type - Interface to be remoted.
Returns:
the proxy object that implements T. This object can be transfered to the other Channel, and calling methods on it from the remote side will invoke the same method on the given local instance object.

syncLocalIO

void syncLocalIO()
                 throws java.lang.InterruptedException
Blocks until all the I/O packets sent from remote is fully locally executed, then return.

Throws:
java.lang.InterruptedException
Since:
1.402


Copyright © 2012. All Rights Reserved.