Package org.apache.hama.bsp.message.io

Examples of org.apache.hama.bsp.message.io.DirectByteBufferInputStream


    stream.close();

    buffer.flip();

    DirectByteBufferInputStream inStream = new DirectByteBufferInputStream();

    inStream.setBuffer(new SpilledByteBuffer(buffer, 400));
    for (int i = 0; i < 100; ++i) {
      intWritable.readFields(inStream);
      assertEquals(i, intWritable.get());
    }

    assertFalse(inStream.hasDataToRead());
    assertTrue(inStream.hasUnmarkData());
    inStream.prepareForNext();

    // push in another buffer and check if the unmarked data could be read.

    buffer.clear();
    stream = new DirectByteBufferOutputStream();
    buffer = ByteBuffer.allocateDirect(2048);
    stream.setBuffer(buffer);

    for (int i = 0; i < 400; ++i) {
      intWritable.set(i);
      intWritable.write(stream);
    }
    stream.close();
    buffer.flip();

    inStream.setBuffer(new SpilledByteBuffer(buffer, 400));

    // Read previous data
    intWritable.readFields(inStream);
    assertEquals(99, intWritable.get());

    for (int i = 0; i < 100; ++i) {
      intWritable.readFields(inStream);
      assertEquals(i, intWritable.get());
    }

    assertFalse(inStream.hasDataToRead());
    assertTrue(inStream.hasUnmarkData());
    inStream.prepareForNext();

    buffer.clear();
    stream = new DirectByteBufferOutputStream();
    stream.setBuffer(buffer);

    for (int i = 0; i < 100; ++i) {
      intWritable.set(i);
      intWritable.write(stream);
    }
    stream.close();
    buffer.flip();

    inStream.setBuffer(new SpilledByteBuffer(buffer, 400));

    // Read previous data with resized intermediate buffer
    for (int i = 100; i < 400; ++i) {
      intWritable.readFields(inStream);
      assertEquals(i, intWritable.get());
    }

    for (int i = 0; i < 100; ++i) {
      intWritable.readFields(inStream);
      assertEquals(i, intWritable.get());
    }

    assertFalse(inStream.hasDataToRead());
    assertFalse(inStream.hasUnmarkData());

  }
View Full Code Here


      assertTrue(f.exists());
      assertEquals(f.length(), 804);

      SyncReadByteBufferInputStream syncReadStream = new SyncReadByteBufferInputStream(
          stream.isSpilled(), fileName);
      DirectByteBufferInputStream inStream = new DirectByteBufferInputStream(
          syncReadStream);
      buffer.clear();
      inStream.setBuffer(buffer);

      for (int i = 0; i < 200; ++i) {
        intWritable.readFields(inStream);
        assertEquals(intWritable.get(), i);
      }

      intWritable.readFields(inStream);
      assertEquals(intWritable.get(), 199);

      try {
        intWritable.readFields(inStream);
        assertFalse(true);
      } catch (Exception e) {
        assertTrue(true);
      }

      inStream.close();
      syncFlushStream.close();

    } finally {
      if (f != null) {
        f.delete();
View Full Code Here

    stream.close();

    buffer.flip();

    DirectByteBufferInputStream inStream = new DirectByteBufferInputStream();

    inStream.setBuffer(new SpilledByteBuffer(buffer, 400));
    for (int i = 0; i < 100; ++i) {
      intWritable.readFields(inStream);
      assertEquals(i, intWritable.get());
    }

    assertFalse(inStream.hasDataToRead());
    assertTrue(inStream.hasUnmarkData());
    inStream.prepareForNext();

    // push in another buffer and check if the unmarked data could be read.

    buffer.clear();
    stream = new DirectByteBufferOutputStream();
    buffer = ByteBuffer.allocateDirect(2048);
    stream.setBuffer(buffer);

    for (int i = 0; i < 400; ++i) {
      intWritable.set(i);
      intWritable.write(stream);
    }
    stream.close();
    buffer.flip();

    inStream.setBuffer(new SpilledByteBuffer(buffer, 400));

    // Read previous data
    intWritable.readFields(inStream);
    assertEquals(99, intWritable.get());

    for (int i = 0; i < 100; ++i) {
      intWritable.readFields(inStream);
      assertEquals(i, intWritable.get());
    }

    assertFalse(inStream.hasDataToRead());
    assertTrue(inStream.hasUnmarkData());
    inStream.prepareForNext();

    buffer.clear();
    stream = new DirectByteBufferOutputStream();
    stream.setBuffer(buffer);

    for (int i = 0; i < 100; ++i) {
      intWritable.set(i);
      intWritable.write(stream);
    }
    stream.close();
    buffer.flip();

    inStream.setBuffer(new SpilledByteBuffer(buffer, 400));

    // Read previous data with resized intermediate buffer
    for (int i = 100; i < 400; ++i) {
      intWritable.readFields(inStream);
      assertEquals(i, intWritable.get());
    }

    for (int i = 0; i < 100; ++i) {
      intWritable.readFields(inStream);
      assertEquals(i, intWritable.get());
    }

    assertFalse(inStream.hasDataToRead());
    assertFalse(inStream.hasUnmarkData());

  }
View Full Code Here

      assertTrue(f.exists());
      assertEquals(f.length(), 804);

      SyncReadByteBufferInputStream syncReadStream = new SyncReadByteBufferInputStream(
          stream.isSpilled(), fileName);
      DirectByteBufferInputStream inStream = new DirectByteBufferInputStream(
          syncReadStream);
      buffer.clear();
      inStream.setBuffer(buffer);

      for (int i = 0; i < 200; ++i) {
        intWritable.readFields(inStream);
        assertEquals(intWritable.get(), i);
      }

      intWritable.readFields(inStream);
      assertEquals(intWritable.get(), 199);

      try {
        intWritable.readFields(inStream);
        assertFalse(true);
      } catch (Exception e) {
        assertTrue(true);
      }

      inStream.close();
      syncFlushStream.close();

    } finally {
      if (f != null) {
        f.delete();
View Full Code Here

TOP

Related Classes of org.apache.hama.bsp.message.io.DirectByteBufferInputStream

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.