Class RemoteOutputStream

java.lang.Object
java.io.OutputStream
hudson.remoting.RemoteOutputStream
All Implemented Interfaces:
Closeable, Flushable, Serializable, AutoCloseable, SerializableOnlyOverRemoting

public final class RemoteOutputStream extends OutputStream implements SerializableOnlyOverRemoting
OutputStream that can be sent over to the remote Channel, so that the remote Callable can write to a local OutputStream.

Usage

To have a remote machine write to a local OutputStream:

 final OutputStream out = new RemoteOutputStream(os);

 channel.call(new Callable() {
   public Object call() {
     // this will write to 'os'.
     out.write(...);
   }
 });
 

To have a local machine write to a remote OutputStream:

 OutputStream os = channel.call(new Callable() {
   public Object call() {
       OutputStream os = new FileOutputStream(...); // or any other OutputStream
       return new RemoteOutputStream(os);
   }
 });
 
Author:
Kohsuke Kawaguchi
See Also: