Examples of PEPeerManager


Examples of org.gudy.azureus2.core3.peer.PEPeerManager

          continue;
        }
       
        log( download.getName() + " - connecting to peer " + ip.getHostAddress());

        PEPeerManager c_pm = PluginCoreUtils.unwrap( pm );
       
        Map  user_data = new LightHashMap();
       
        user_data.put( PEER_KEY, download );
       
        user_data.put( Peer.PR_PRIORITY_CONNECTION, new Boolean( true ));
       
        c_pm.addPeer( ip.getHostAddress(), tcp_port, udp_port, true, user_data );
      }
    }
  }
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

       
      }else{
     
        if ( state == DownloadManager.STATE_DOWNLOADING ){
         
          PEPeerManager pm = manager.getPeerManager();
         
          if ( pm != null ){
           
            if ( pm.hasDownloadablePiece()){
             
              is_downloading = true;
             
            }else{
       
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

           
      if ( runtime >= 30*1000 ){
       
        boolean  rotate = false;

        PEPeerManager pm = current_transfer.getDownload().getPeerManager();
       
        if ( pm == null ){
         
          rotate = true;
         
        }else{
         
          if ( runtime > 3*60*1000 ){
         
            List<PEPeer> peers = pm.getPeers( service_ip );
           
            if ( peers.size() == 0 ){
             
              rotate = true;
             
            }else{
           
              PEPeer peer = peers.get(0);
             
              if ( peer.getStats().getDataReceiveRate() < 1024 ){
               
                rotate = true;
              }
            }
          }
        }
       
        if ( rotate ){
         
          current_transfer.deactivate();
         
          current_transfer = null;
        }
      }
    }
   
    if ( current_transfer == null ){
     
      Iterator<TransferableDownload> it2 = transferable.values().iterator();
     
      current_transfer = it2.next();
     
      it2.remove();
     
      transferable.put( current_transfer.getHash(), current_transfer );
    }
   
    if ( current_transfer != null ){
     
      if ( !current_transfer.isActive()){
       
        current_transfer.activate();
      }
     
      if ( current_transfer.isForced()){
       
        Map<String,Map> xfer_cache = new HashMap<String,Map>();
       
        Map m = new HashMap();
       
        m.put( "f", new Long(1));
       
        xfer_cache.put( current_transfer.getHash(), m );
       
        setPersistentMapProperty( PP_OD_XFER_CACHE, xfer_cache );
      }
     
      DownloadManager  download = current_transfer.getDownload();
     
      int  data_port = current_transfer.getDataPort();
     
      if ( data_port <= 0 ){
               
        try{
          String[] start_results = service.startDownload( client_id, current_transfer.getHash());
         
          String start_status = start_results[1];
         
          if ( !start_status.equals( "OK" )){
           
            throw( new Exception( "Failing result returned: " + start_status ));
          }
         
          data_port = Integer.parseInt( start_results[0] );
         
          log( download, "StartDownload succeeded - data port=" + data_port );

        }catch( Throwable e ){
         
          log( download, "StartDownload failed", e );
        }
      }
     
      if ( data_port > 0 ){
       
        current_transfer.setDataPort( data_port );
      }
     
      final TransferableDownload transfer = current_transfer;

      dispatcher.dispatch(
        new AERunnable()
        {
          private final int[]  count = { 0 };
         
          public void
          runSupport()
          {
            count[0]++;
           
            if ( current_transfer != transfer || !transfer.isActive()){
             
              return;
            }
           
            PEPeerManager pm = transfer.getDownload().getPeerManager();
           
            if ( pm == null ){
             
              return;
            }
           
            List<PEPeer> peers = pm.getPeers( service_ip );
               
            if ( peers.size() > 0 ){
     
              return;
            }
           
            Map  user_data = new LightHashMap();
                       
            user_data.put( Peer.PR_PRIORITY_CONNECTION, new Boolean( true ));
           
            pm.addPeer( service_ip, transfer.getDataPort(), 0, false, user_data );
           
            if ( count[0] < 3 ){
             
              final AERunnable target = this;
             
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

            }else if ( response.getScrapeIncompleteCount() > 0 ){
             
              ensureActive( "Tracker[scrape]", ACT_TRACKER_SCRAPE );
            }
           
            PEPeerManager  pm = peer_manager;
           
            if ( pm != null ){
                             
              pm.processTrackerResponse( response );
            }
          }
 
          public void
          urlChanged(
            TRTrackerAnnouncer  announcer,
            URL          old_url,
            URL          new_url,
            boolean        explicit )
          {
          }
           
          public void
          urlRefresh()
          { 
          }
        });
     
    result.setAnnounceDataProvider(
        new TRTrackerAnnouncerDataProvider()
        {
          public String
          getName()
          {
            return( LightWeightSeed.this.getName());
          }
         
          public long
          getTotalSent()
          {
            return( 0 );
          }
         
          public long
          getTotalReceived()
          {
            return( 0 );
          }
         
            public long
            getFailedHashCheck()
            {
              return( 0 );
            }
           
          public long
          getRemaining()
          {
            return( 0 );
          }
         
          public String
          getExtensions()
          {
            return( null );
          }
         
          public int
          getMaxNewConnectionsAllowed()
          {
            PEPeerManager  pm = peer_manager;

            if ( pm == null ){
             
                // got to ask for at least one to trigger activation!
             
              return( 8 );
            }
           
            return( PeerUtils.numNewConnectionsAllowed( pm.getPeerIdentityDataID(),0));
          }
         
          public int
          getPendingConnectionCount()
          {
            PEPeerManager  pm = peer_manager;

            if ( pm == null ){
             
              return( 0 );
            }
           
            return( pm.getPendingPeerCount());
          }
         
          public int
          getConnectedConnectionCount()
          {
            PEPeerManager  pm = peer_manager;

            if ( pm == null ){
             
              return( 0 );
            }
           
            return( pm.getNbPeers() + pm.getNbSeeds());
          }
         
          public int
          getUploadSpeedKBSec(
            boolean estimate)
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

  }
 
   public PeerManager
  getPeerManager()
   {
     PEPeerManager  pm = download_manager.getPeerManager();
    
     if ( pm == null ){
      
       return( null );
     }
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

    if ( value == 0 ){
     
        // zero means no recorded last bad availability time (bad=transition from >=1 -> < 1)
     
      PEPeerManager pm = dm.getPeerManager();
     
      if ( pm  == null || pm.getMinAvailability() < 1.0 ){
       
        long stopped = dm.getDownloadState().getLongAttribute( DownloadManagerState.AT_TIME_STOPPED );
       
        if ( stopped > 0 ){
         
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

     
      PeerManager pm = download.getPeerManager();
           
      if ( pm != null ){
     
        PEPeerManager core_pm = PluginCoreUtils.unwrap( pm );
       
        if ( core_pm != null && core_pm.getHiddenBytes() > 0 ){
         
          is_complete = false;
        }
      }
    }
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

      return;
    }

    DiskManagerPiece[] dm_pieces = null;

    PEPeerManager pm = dlm.getPeerManager();

    DiskManager dm = dlm.getDiskManager();

    if (pm == null || dm == null) {
      canvas.redraw();
      return;
    }

    dm_pieces = dm.getPieces();

    if (dm_pieces == null || dm_pieces.length == 0) {
      canvas.redraw();
      return;
    }

    int numPieces = dm_pieces.length;

    if (imgHaveAll == null || imgHaveAll.isDisposed()) {
      imgHaveAll = new Image(canvas.getDisplay(), BLOCK_SIZE, BLOCK_SIZE);
      GC gc = new GC(imgHaveAll);
      try {
        try {
          gc.setAntialias(SWT.ON);
        } catch (Exception e) {
          // ignore
        }
        gc.setBackground(canvas.getBackground());
        gc.fillRectangle(imgHaveAll.getBounds());

        gc.setBackground(blockColors[BLOCKCOLOR_HAVEALL]);
        gc.fillRoundRectangle(1, 1, BLOCK_FILLSIZE, BLOCK_FILLSIZE,
            BLOCK_FILLSIZE, BLOCK_FILLSIZE);
      } finally {
        gc.dispose();
      }
    }

    if (imgNoHave == null || imgNoHave.isDisposed()) {
      imgNoHave = new Image(canvas.getDisplay(), BLOCK_SIZE, BLOCK_SIZE);
      GC gc = new GC(imgNoHave);
      try {
        try {
          gc.setAntialias(SWT.ON);
        } catch (Exception e) {
          // ignore
        }
        gc.setBackground(canvas.getBackground());
        gc.fillRectangle(imgNoHave.getBounds());

        gc.setBackground(blockColors[BLOCKCOLOR_NOHAVE]);
        gc.fillRoundRectangle(1, 1, BLOCK_FILLSIZE, BLOCK_FILLSIZE,
            BLOCK_FILLSIZE, BLOCK_FILLSIZE);
      } finally {
        gc.dispose();
      }
    }

    boolean clearImage = img == null || img.isDisposed()
        || img.getBounds().width != bounds.width
        || img.getBounds().height != bounds.height;
    if (clearImage) {
      if (img != null && !img.isDisposed()) {
        img.dispose();
      }
      //System.out.println("clear " + img);
      img = new Image(canvas.getDisplay(), bounds.width, bounds.height);
      squareCache = null;
    }

    PEPiece[] currentDLPieces = dlm.getCurrentPieces();
    Arrays.sort(currentDLPieces, compFindPEPiece);

    // find upload pieces
    ArrayList currentULPieces = new ArrayList();
    ArrayList futureULPieces = new ArrayList();
    PEPeer[] peers = (PEPeer[]) pm.getPeers().toArray(new PEPeer[0]);
    for (int i = 0; i < peers.length; i++) {
      PEPeer peer = peers[i];
      int[] peerRequestedPieces = peer.getIncomingRequestedPieceNumbers();
      if (peerRequestedPieces != null && peerRequestedPieces.length > 0) {
        currentULPieces.add(new Long(peerRequestedPieces[0]));
        for (int j = 1; j < peerRequestedPieces.length; j++) {
          futureULPieces.add(new Long(peerRequestedPieces[j]));
        }
      }

      // we'll have duplicates
      Collections.sort(currentULPieces);
      Collections.sort(futureULPieces);
    }

    int iNumCols = bounds.width / BLOCK_SIZE;
    int iNumRows = bounds.height / BLOCK_SIZE;
    int numSquares = onePiecePerBlock ? numPieces : iNumCols * iNumRows;
    double numPiecesPerSquare = numPieces / (double) numSquares;
    //System.out.println("numPiecesPerSquare=" + numPiecesPerSquare);

    if (squareCache == null || squareCache.length != numSquares) {
      squareCache = new double[numSquares];
      Arrays.fill(squareCache, -1);
    }

    int[] availability = pm.getAvailability();
   
    int numRedraws = 0;

    GC gc = new GC(img);
    try {
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

      return;
    }

    DiskManagerPiece[] dm_pieces = null;

    PEPeerManager pm = peer.getManager();

    DiskManager dm = pm.getDiskManager();

    dm_pieces = dm.getPieces();

    int iNumCols = bounds.width / BLOCK_SIZE;
    int iNeededHeight = (((dm.getNbPieces() - 1) / iNumCols) + 1)
        * BLOCK_SIZE;
    if (sc.getMinHeight() != iNeededHeight) {
      sc.setMinHeight(iNeededHeight);
      sc.layout(true, true);
      bounds = peerInfoCanvas.getClientArea();
    }
   
    img = new Image(peerInfoCanvas.getDisplay(), bounds.width, iNeededHeight);
    GC gcImg = new GC(img);
   
    try {
      // use advanced capabilities for faster drawText
      gcImg.setAdvanced(true);
     
      gcImg.setBackground(peerInfoCanvas.getBackground());
      gcImg.fillRectangle(0, 0, bounds.width, iNeededHeight);

      int[] availability = pm.getAvailability();

      int iNextDLPieceID = -1;
      int iDLPieceID = -1;
      int[] ourRequestedPieces = peer.getOutgoingRequestedPieceNumbers();
      if (ourRequestedPieces != null) {
View Full Code Here

Examples of org.gudy.azureus2.core3.peer.PEPeerManager

    String sText = "";
    DownloadManager dm = (DownloadManager)cell.getDataSource();
    if (dm == null)
      return;

    PEPeerManager pm = dm.getPeerManager();
    if (pm != null) {
      float f = pm.getMinAvailability();
      if (!cell.setSortValue((long)(f * 1000)) && cell.isValid())
        return;
     
        sText = String.valueOf((int)(f * iTimesBy));
        if (numZeros - sText.length() > 0)
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.