Examples of PEPeerManager


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

   
    for( int i=0; i < managers.size(); i++ ) {
       
        DownloadManager dm = (DownloadManager)managers.get( i );

        PEPeerManager pm = dm.getPeerManager();
       
        int  state = dm.getState();

        if ( dm.getDiskManager() == null || pm == null ){
         
            // download not running
         
          if ( state == DownloadManager.STATE_QUEUED ){
            
            if ( dm.isDownloadComplete( false )){
             
              potentially_seeding = true;
            } else {

              // Queued and Incomplete means we aren't "only seeding".  This
              // download WILL start, it just hasn't yet for various reasons
              // (1st Priority, etc)
              seeding       = false;
             
              // can't break out, because we still need to calculate
              // potentially_seeding.  Set a flag so we don't set "seeding"
              // back to true
              seeding_set = true;

            }
          }
         
          continue;
        }
       
        if ( state == DownloadManager.STATE_DOWNLOADING ){
         
          if (!pm.hasDownloadablePiece()){
           
              // complete DND file

            if (!seeding_set) {
             
View Full Code Here

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

   
    long  mono_now = SystemTime.getMonotonousTime();
   
    for ( Map.Entry<PEPeerManager, PMState> entry: pm_map.entrySet()){
     
      PEPeerManager  pm     = entry.getKey();
      PMState      state   = entry.getValue();
     
      boolean  is_complete = !pm.hasDownloadablePiece();
     
      PEPeerManagerStats pm_stats = pm.getStats();
 
      long  up_bytes = pm_stats.getTotalDataBytesSentNoLan() + pm_stats.getTotalProtocolBytesSentNoLan();
           
      long  diff = state.setBytesUp( up_bytes );
     
      if ( is_complete ){
               
        num_complete++;
       
        c_up_total += diff;
       
      }else{
               
        num_incomplete++;
       
        i_up_total += diff;
       
        if ( state.isInteresting( mono_now )){
         
          num_interesting++;
        }
      }
       
      if ( state.isComplete() != is_complete ){
     
        if ( is_complete ){
         
          pm.addRateLimiter( limiter, true );
         
        }else{
         
          pm.removeRateLimiter( limiter, true );
        }
       
        state.setComplete( is_complete );
      }
    }
View Full Code Here

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

 
 
  public int
  getNbSeeds()
  {
    PEPeerManager peerManager = controller.getPeerManager();
   
    if (peerManager != null){
     
      return peerManager.getNbSeeds();
    }
   
    return 0;
  }
View Full Code Here

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

  }

  public int
  getNbPeers()
  {
    PEPeerManager peerManager = controller.getPeerManager();

    if (peerManager != null){
   
      return peerManager.getNbPeers();
    }
   
    return 0;
  }
View Full Code Here

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

      for (int i=0;i<current_peers.size();i++){
       
        peer_listeners.dispatch( listener, LDT_PE_PEER_ADDED, current_peers.get(i));
      }
       
      PEPeerManager  temp = controller.getPeerManager();
   
      if ( temp != null ){
 
        peer_listeners.dispatch( listener, LDT_PE_PM_ADDED, temp );
      }
View Full Code Here

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

  public int
  getHealthStatus()
  {
    int  state = getState();
   
    PEPeerManager  peerManager   = controller.getPeerManager();
   
    TRTrackerAnnouncer tc = getTrackerClient();
   
    if( tc != null && peerManager != null && (state == STATE_DOWNLOADING || state == STATE_SEEDING)) {
     
      int nbSeeds = getNbSeeds();
      int nbPeers = getNbPeers();
      int nbRemotes = peerManager.getNbRemoteTCPConnections();
     
      TRTrackerAnnouncerResponse  announce_response = tc.getLastResponse();
     
      int trackerStatus = announce_response.getStatus();
     
View Full Code Here

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

  public int
  getNATStatus()
  {
    int  state = getState();
   
    PEPeerManager  peerManager   = controller.getPeerManager();
   
    TRTrackerAnnouncer tc = getTrackerClient();
   
    if ( tc != null && peerManager != null && (state == STATE_DOWNLOADING || state == STATE_SEEDING)) {
           
      if ( peerManager.getNbRemoteTCPConnections() > 0 ){
       
        return( ConnectionManager.NAT_OK );
      }
     
      long  last_good_time = peerManager.getLastRemoteConnectionTime();
   
      if ( last_good_time > 0 ){
       
          // half an hour's grace
       
        if ( SystemTime.getCurrentTime() - last_good_time < 30*60*1000 ){
       
          return( ConnectionManager.NAT_OK );
         
        }else{
         
          return( ConnectionManager.NAT_PROBABLY_OK );
        }
      }
     
      TRTrackerAnnouncerResponse  announce_response = tc.getLastResponse();
     
      int trackerStatus = announce_response.getStatus();
     
      if(   trackerStatus == TRTrackerAnnouncerResponse.ST_OFFLINE ||
          trackerStatus == TRTrackerAnnouncerResponse.ST_REPORTED_ERROR){
         
        return ConnectionManager.NAT_UNKNOWN;
      }
     
        // tracker's ok but no remotes - give it some time
     
      if ( SystemTime.getCurrentTime() - peerManager.getTimeStarted() < 3*60*1000 ){
       
        return ConnectionManager.NAT_UNKNOWN;
      }
     
      TRTrackerScraperResponse scrape_response = getTrackerScrapeResponse();
       
      if ( scrape_response != null && scrape_response.isValid()){
         
          // if we're connected to everyone then report OK as we can't get
          // any incoming connections!
         
        if (   peerManager.getNbSeeds() == scrape_response.getSeeds() &&
            peerManager.getNbPeers() == scrape_response.getPeers()){
           
          return ConnectionManager.NAT_UNKNOWN;
        }
      }
       
View Full Code Here

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

  }
 
  public boolean
  seedPieceRecheck()
  {
    PEPeerManager pm = controller.getPeerManager();
   
    if ( pm != null ){
     
      return( pm.seedPieceRecheck());
    }
   
    return( false );
  }
View Full Code Here

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

            private TrackerPeerSource  _delegate;
           
            private TrackerPeerSource
            fixup()
            {
              PEPeerManager pm = getPeerManager();
             
              if ( pm == null ){
               
                _delegate   = null;
                _pm      = null;
               
              }else if ( pm != _pm ){
               
                _pm  = pm;
               
                _delegate = pm.getTrackerPeerSource();
              }
             
              return( _delegate );
            }
           
            public int
            getType()
            {
              return( TP_PEX );
            }
           
            public int
            getStatus()
            {
              TrackerPeerSource delegate = fixup();
             
              if ( delegate == null ){
               
                return( ST_STOPPED );
               
              }else{
               
                return( delegate.getStatus());
              }
            }
           
            public String
            getName()
            {
              TrackerPeerSource delegate = fixup();
             
              if ( delegate == null ){
               
                return( "" );
               
              }else{
               
                return( delegate.getName());
             
            }
           
            public int
            getPeers()
            {
              TrackerPeerSource delegate = fixup();
             
              if ( delegate == null ){
               
                return( -1 );
               
              }else{
               
                return( delegate.getPeers());
             
            }
          });
       
          // incoming
       
        tps.add(
            new TrackerPeerSourceAdapter()
            {
              private long        fixup_time;
           
              private PEPeerManager    _pm;
              private int          tcp;
              private int          udp;
              private int          total;
              private boolean        enabled;
             
              private PEPeerManager
              fixup()
              {
                long  now = SystemTime.getMonotonousTime();
               
                if ( now - fixup_time > 1000 ){
 
                  PEPeerManager pm = _pm = getPeerManager();
                 
                  if ( pm != null ){
                   
                    tcp   = pm.getNbRemoteTCPConnections();
                    udp    = pm.getNbRemoteUDPConnections();
                    total  = pm.getStats().getTotalIncomingConnections();
                  }
                 
                  enabled = controller.isPeerSourceEnabled( PEPeerSource.PS_INCOMING );
                 
                  fixup_time = now;
                }
               
                return( _pm );
              }
             
              public int
              getType()
              {
                return( TP_INCOMING );
              }
             
              public int
              getStatus()
              {
                PEPeerManager delegate = fixup();
               
                if ( delegate == null ){
                 
                  return( ST_STOPPED );
                 
                }else if ( !enabled ){
                 
                  return( ST_DISABLED );
                   
                }else{
               
                  return( ST_ONLINE );
                }
              }
             
              public String
              getName()
              {
                PEPeerManager delegate = fixup();
               
                if ( delegate == null || !enabled ){
                 
                  return( "" );
                 
                }else{
                 
                  return(
                    MessageText.getString(
                      "tps.incoming.details",
                      new String[]{ String.valueOf( tcp ), String.valueOf( udp ), String.valueOf( total )} ));
               
              }
             
              public int
              getPeers()
              {
                PEPeerManager delegate = fixup();
               
                if ( delegate == null || !enabled ){
                 
                  return( -1 );
                 
View Full Code Here

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

  generateEvidence(
    IndentWriter    writer )
  {
    writer.println(toString());

    PEPeerManager pm = getPeerManager();

    try {
      writer.indent();

      writer.println("Save Dir: "
          + Debug.secretFileName(getSaveLocation().toString()));
     
      if (current_peers.size() > 0) {
        writer.println("# Peers: " + current_peers.size());
      }
     
      if (current_pieces.size() > 0) {
        writer.println("# Pieces: " + current_pieces.size());
      }
     
      writer.println("Listeners: DownloadManager=" + listeners.size() + "; Disk="
        + controller.getDiskListenerCount() + "; Peer=" + peer_listeners.size()
        + "; Tracker=" + tracker_listeners.size());
     
      writer.println("SR: " + iSeedingRank);
     
     
      String sFlags = "";
      if (open_for_seeding) {
        sFlags += "Opened for Seeding; ";
      }
     
      if (data_already_allocated) {
        sFlags += "Data Already Allocated; ";
      }
     
      if (assumedComplete) {
        sFlags += "onlySeeding; ";
      }
     
      if (persistent) {
        sFlags += "persistent; ";
      }
     
      if (sFlags.length() > 0) {
        writer.println("Flags: " + sFlags);
      }

      stats.generateEvidence( writer );
     
      download_manager_state.generateEvidence( writer );

      if (pm != null) {
        pm.generateEvidence(writer);
      }
     
        // note, PeerManager generates DiskManager evidence
     
      controller.generateEvidence(writer);
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.