/** * */ package edu.washington.escience.myria.io; import java.io.IOException; import java.io.OutputStream; import java.io.PipedInputStream; import java.io.PipedOutputStream; import edu.washington.escience.myria.MyriaConstants; import edu.washington.escience.myria.api.PipedStreamingOutput; /** * */ public class PipeSink implements DataSink { /** Required for Java serialization. */ private static final long serialVersionUID = 1L; final PipedOutputStream writerOutput; final PipedInputStream input; final PipedStreamingOutput responseEntity; public PipeSink() throws IOException { writerOutput = new PipedOutputStream(); input = new PipedInputStream(writerOutput, MyriaConstants.DEFAULT_PIPED_INPUT_STREAM_SIZE); responseEntity = new PipedStreamingOutput(input); } @Override public OutputStream getOutputStream() { return writerOutput; } public PipedStreamingOutput getResponse() { return responseEntity; } }