Examples of ByteBufferPool


Examples of etch.util.core.nio.ByteBufferPool

 
  /** @throws Exception */
  @Test
  public void alloc1() throws Exception
  {
    ByteBufferPool p = new ByteBufferPool( 4096, 0, 10, 0, 0 );
    ByteBuffer b = p.alloc( null );
    assertNotNull( b );
    assertEquals( 4096, b.limit() );
    assertEquals( 1, p.used() );
    p.release( b );
    assertEquals( 0, p.used() );
  }
View Full Code Here

Examples of etch.util.core.nio.ByteBufferPool

 
  /** @throws Exception */
  @Test
  public void alloc2() throws Exception
  {
    ByteBufferPool p = new ByteBufferPool( 1024, 0, 10, 0, 0 );
    ByteBuffer b = p.alloc( null );
    assertNotNull( b );
    assertEquals( 1024, b.limit() );
    assertEquals( 1, p.used() );
    p.release( b );
    assertEquals( 0, p.used() );
  }
View Full Code Here

Examples of etch.util.core.nio.ByteBufferPool

 
  /** @throws Exception */
  @Test
  public void alloc3() throws Exception
  {
    ByteBufferPool p = new ByteBufferPool( 4096, 0, 10, 0, 0 );
    ByteBuffer[] b = p.alloc( null, 2 );
    assertNotNull( b );
    assertEquals( 2, b.length );
    assertNotNull( b[0] );
    assertEquals( 4096, b[0].limit() );
    assertNotNull( b[1] );
    assertEquals( 4096, b[1].limit() );
    assertEquals( 2, p.used() );
    p.release( b );
    assertEquals( 0, p.used() );
  }
View Full Code Here

Examples of etch.util.core.nio.ByteBufferPool

  /** @throws Exception */
  @Test( expected = IOException.class )
  public void alloc4() throws Exception
  {
    // out of buffers
    ByteBufferPool p = new ByteBufferPool( 1024, 0, 1, 0, 0 );
    p.alloc( null );
    p.alloc( null );
  }
View Full Code Here

Examples of etch.util.core.nio.ByteBufferPool

  /** @throws Exception */
  @Test
  public void alloc5() throws Exception
  {
    // slower because of no pooling.
    ByteBufferPool p = new ByteBufferPool( 1024, 0, 1, 0, 0 );
    for (int i = 0; i < 100000; i++)
      p.release( p.alloc( null ) );
    assertEquals( 0, p.used() );
  }
View Full Code Here

Examples of etch.util.core.nio.ByteBufferPool

  /** @throws Exception */
  @Test
  public void alloc6() throws Exception
  {
    // faster because of pooling.
    ByteBufferPool p = new ByteBufferPool( 1024, 1, 1, 0, 0 );
    for (int i = 0; i < 100000; i++)
      p.release( p.alloc( null ) );
    assertEquals( 0, p.used() );
  }
View Full Code Here

Examples of etch.util.core.nio.ByteBufferPool

 
  /** @throws Exception */
  @Test
  public void notify1() throws Exception
  {
    ByteBufferPool p = new ByteBufferPool( 1024, 1, 1, 0, 0 );
    MyNotify n1 = new MyNotify();
    MyNotify n2 = new MyNotify();
   
    ByteBuffer b1 = p.alloc( n1 );
    assertNotNull( b1 );
    assertEquals( 1, p.used() );
    Thread.sleep( 15 );
    assertFalse( n1.available );
    assertFalse( n2.available );
   
    ByteBuffer b2 = p.alloc( n2 );
    assertNull( b2 );
    assertEquals( 1, p.used() );
    Thread.sleep( 15 );
    assertFalse( n1.available );
    assertFalse( n2.available );
   
    // the alloc of b2 failed, but n2 should be registered to be notified
    // when a block is freed. release of b1 should notify n2 of availability
   
    p.release( b1 );
    b1 = null;
    assertEquals( 0, p.used() );
    Thread.sleep( 15 );
    assertFalse( n1.available );
    assertTrue( n2.available );
   
    n2.available = false;
    b2 = p.alloc( n2 );
    assertNotNull( b2 );
    assertEquals( 1, p.used() );
    Thread.sleep( 15 );
    assertFalse( n1.available );
    assertFalse( n2.available );
   
    p.release( b2 );
    b2 = null;
    assertEquals( 0, p.used() );
    Thread.sleep( 15 );
    assertFalse( n1.available );
    assertFalse( n2.available );
  }
View Full Code Here

Examples of org.apache.hadoop.io.ByteBufferPool

  public void releaseBuffer(ByteBuffer buffer) {
    try {
      ((HasEnhancedByteBufferAccess)in).releaseBuffer(buffer);
    }
    catch (ClassCastException e) {
      ByteBufferPool bufferPool = extendedReadBuffers.remove( buffer);
      if (bufferPool == null) {
        throw new IllegalArgumentException("tried to release a buffer " +
            "that was not created by this stream.");
      }
      bufferPool.putBuffer(buffer);
    }
  }
View Full Code Here

Examples of org.eclipse.jetty.io.ByteBufferPool

    }

    public void receive()
    {
        HttpClient client = getHttpDestination().getHttpClient();
        ByteBufferPool bufferPool = client.getByteBufferPool();
        buffer = bufferPool.acquire(client.getResponseBufferSize(), true);
        process();
    }
View Full Code Here

Examples of org.eclipse.jetty.io.ByteBufferPool

    private void process()
    {
        if (readAndParse())
        {
            HttpClient client = getHttpDestination().getHttpClient();
            ByteBufferPool bufferPool = client.getByteBufferPool();
            bufferPool.release(buffer);
            // Don't linger the buffer around if we are idle.
            buffer = null;
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.