public class LocalChannel extends Object implements VirtualChannel
VirtualChannel
that performs computation on the local JVM.Constructor and Description |
---|
LocalChannel(ExecutorService executor) |
Modifier and Type | Method and Description |
---|---|
<V,T extends Throwable> |
call(Callable<V,T> callable)
Makes a remote procedure call.
|
<V,T extends Throwable> |
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(Class<T> intf,
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.
|
public LocalChannel(ExecutorService executor)
public <V,T extends Throwable> V call(Callable<V,T> callable) throws T extends Throwable
VirtualChannel
Sends Callable
to the remote system, executes it, and returns its result.
call
in interface VirtualChannel
T extends Throwable
public <V,T extends Throwable> Future<V> callAsync(Callable<V,T> callable) throws IOException
VirtualChannel
Similar to VirtualChannel.call(Callable)
but returns immediately.
The result of the Callable
can be obtained through the Future
object.
callAsync
in interface VirtualChannel
Future
object that can be used to wait for the completion.IOException
- If there's an error during the communication.public void close()
VirtualChannel
close
in interface VirtualChannel
public void join() throws InterruptedException
VirtualChannel
Channel
to be closed down.
The close-down of a Channel
might be initiated locally or remotely.join
in interface VirtualChannel
InterruptedException
- If the current thread is interrupted while waiting for the completion.public void join(long timeout) throws InterruptedException
VirtualChannel
Channel
to be closed down, but only up the given milliseconds.join
in interface VirtualChannel
InterruptedException
- If the current thread is interrupted while waiting for the completion.public <T> T export(Class<T> intf, T instance)
VirtualChannel
Channel
by creating a remotable proxy.
All the parameters and return values must be serializable.
export
in interface VirtualChannel
intf
- Interface to be remoted.Channel
, and calling methods on it from the remote side
will invoke the same method on the given local instance object.public void syncLocalIO() throws InterruptedException
VirtualChannel
syncLocalIO
in interface VirtualChannel
InterruptedException
Copyright © 2017. All rights reserved.