Example usage for org.apache.http.nio.util SharedOutputBuffer write

List of usage examples for org.apache.http.nio.util SharedOutputBuffer write

Introduction

In this page you can find the example usage for org.apache.http.nio.util SharedOutputBuffer write.

Prototype

public void write(final byte[] b, int off, int len) throws IOException 

Source Link

Usage

From source file:marytts.server.http.TestProducingNHttpEntity.java

public void produceContent(ContentEncoder encoder, IOControl ioctrl) throws IOException {
    final SharedOutputBuffer ob = new SharedOutputBuffer(8192, ioctrl, new HeapByteBufferAllocator());
    new Thread() {
        public void run() {
            try {
                FileInputStream fis = new FileInputStream("/Users/marc/Music/enjoytheride_feat.judytzuke_.mp3");
                int nRead;
                byte[] bytes = new byte[4096];
                while ((nRead = fis.read(bytes)) != -1) {
                    synchronized (this) {
                        try {
                            wait(1);/*  w  w w  . j  a v a2 s. co m*/
                        } catch (InterruptedException ie) {
                        }
                    }
                    ob.write(bytes, 0, nRead);
                }
                ob.writeCompleted();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }.start();
    while (!encoder.isCompleted())
        ob.produceContent(encoder);
}