Examples of PooledByteBuffer


Examples of org.gudy.azureus2.plugins.utils.PooledByteBuffer

     
        try{
          byte[]  enc   = message.toByteArray();
          byte[]  plain   = incoming_cipher.doFinal( enc );
 
          PooledByteBuffer  temp = new PooledByteBufferImpl( plain );
 
          message.returnToPool();
         
          buffer_handled  = true;
         
          message  = temp;
         
        }catch( Throwable e ){
         
          throw( new MessageException( "Failed to decrypt data", e ));
        }
       
      }else if ( block_crypto != SESecurityManager.BLOCK_ENCRYPTION_NONE ){
       
        throw( new MessageException( "Crypto isn't setup" ));
      }
     
      List listeners_ref = listeners.getList();
     
      MessageException  last_error = null;
     
      for (int i=0;i<listeners_ref.size();i++){
       
        PooledByteBuffer  message_to_deliver;
       
        if ( i == 0 ){
         
          message_to_deliver  = message;
         
        }else{
       
            // unlikely we'll ever have > 1 receiver....
         
          message_to_deliver = new PooledByteBufferImpl( message.toByteArray());
        }
       
        try{
          ((GenericMessageConnectionListener)listeners_ref.get(i)).receive( this, message_to_deliver );
         
          if ( message_to_deliver == message ){
           
            buffer_handled  = true;
          }
        }catch( Throwable e ){
         
          message_to_deliver.returnToPool();
         
          if ( message_to_deliver == message ){

            buffer_handled  = true;
          }
View Full Code Here

Examples of org.gudy.azureus2.plugins.utils.PooledByteBuffer

  protected void
  informComplete(
    PeerReadRequest    request,
    byte[]        buffer )
  {
    PooledByteBuffer pool_buffer = plugin.getPluginInterface().getUtilities().allocatePooledByteBuffer( buffer );
   
    for (int i=0;i<listeners.size();i++){
     
      try{
        ((ExternalSeedReaderListener)listeners.get(i)).requestComplete( request, pool_buffer );
View Full Code Here

Examples of org.gudy.azureus2.plugins.utils.PooledByteBuffer

              chunk_map.put( "q", new Long( is_request?1:0 ));
              chunk_map.put( "d", chunk );
             
              byte[] chunk_data = BEncoder.encode( chunk_map );

              PooledByteBuffer chunk_buffer =
                plugin.getPluginInterface().getUtilities().allocatePooledByteBuffer( chunk_data );
           
              try{                 
                connection.send( chunk_buffer );
             
                chunk_buffer = null;
               
              }finally{
               
                if ( chunk_buffer != null ){
                 
                  chunk_buffer.returnToPool();
                }
              }
            }
           
            chunk_num++;
          }
        }else{
         
          PooledByteBuffer buffer =
            plugin.getPluginInterface().getUtilities().allocatePooledByteBuffer( data );
       
          try{     
         
            connection.send( buffer );
         
            buffer = null;
           
          }finally{
           
            if ( buffer != null ){
             
              buffer.returnToPool();
            }
          }
        }
       
        buddyMessageSent( data.length, record_active );
View Full Code Here

Examples of org.gudy.azureus2.plugins.utils.PooledByteBuffer

                {
                  int  type = event.getType();
                 
                  if ( type == DiskManagerEvent.EVENT_TYPE_SUCCESS ){
                   
                    PooledByteBuffer p_buffer = event.getBuffer();
                   
                    try{
                      ByteBuffer  bb = p_buffer.toByteBuffer();
                                         
                      bb.position( 0 );
                     
                      int  read = bb.remaining();

                      bb.get( buffer, write_pos, read );
                     
                      write_pos   += read;
                      rem      -= read;
                     
                      if ( rem == 0 ){
                       
                        sem.release();
                      }
                    }finally{
                     
                      p_buffer.returnToPool();
                    }
                  }else if ( type == DiskManagerEvent.EVENT_TYPE_FAILED ){
                 
                    error[0] = event.getFailure();
                   
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.