Package org.gudy.azureus2.plugins.utils

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


     
      try{
        byte[]  plain  =  message.toByteArray();
        byte[]  enc    = outgoing_cipher.doFinal( plain );
     
        PooledByteBuffer  temp = new PooledByteBufferImpl( enc );
       
        try{
          connection.send( temp );
         
            // successfull send -> release caller's buffer
         
          message.returnToPool();
         
        }catch( Throwable e ){
         
            // failed semantics are to not release the caller's buffer
         
          temp.returnToPool();
         
          throw( e );
        }
       
      }catch( Throwable e ){
View Full Code Here


     
        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

  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

              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

                {
                  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

  private void start() {
    for (int i = 0; i < updates.length; i++) {
      Update update = updates[i];
      ResourceDownloader[] rds = update.getDownloaders();
      for (int j = 0; j < rds.length; j++) {
        ResourceDownloader rd = rds[j];
        downloaders.add(rd);
      }
    }

    iterDownloaders = downloaders.iterator();
View Full Code Here

   *
   * @since 3.0.0.7
   */
  private boolean nextUpdate() {
    if (iterDownloaders.hasNext()) {
      ResourceDownloader downloader = (ResourceDownloader) iterDownloaders.next();
      downloader.addListener(this);
      downloader.asyncDownload();
      return true;
    }
    return false;
  }
View Full Code Here

              }
             
              setProgress( 0 );
             
              downloader.addListener(
                new ResourceDownloaderAdapter()
                {
                  public void
                  reportPercentComplete(
                    ResourceDownloader  downloader,
                    int          percentage )
View Full Code Here

    props         = new propertyWrapper(_props );
    pluginDir       = _pluginDir;
    config         = new PluginConfigImpl(this,pluginConfigKey);
    given_plugin_id      = _plugin_id;
    plugin_version    = _plugin_version;
    ipc_interface      = new IPCInterfaceImpl( initialiser, plugin );
    state                 = new PluginStateImpl(this, initialiser);
   
    boolean verified   = false;
    boolean bad    = false;
   
View Full Code Here

  }
 
  public IPFilter
  getIPFilter()
  {
    return( new IPFilterImpl());
  }
View Full Code Here

TOP

Related Classes of org.gudy.azureus2.plugins.utils.PooledByteBuffer

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.