Package com.aelitis.azureus.core.dht

Examples of com.aelitis.azureus.core.dht.DHTStorageBlock


    if ( direct_key_blocks.length > 0 ){
         
      for (int i=0;i<direct_key_blocks.length;i++){
     
        final DHTStorageBlock  key_block = direct_key_blocks[i];
       
        List  contacts = control.getClosestKContactsList( key_block.getKey(), false );

        boolean  forward_it = false;
       
          // ensure that the key is close enough to us
       
        for (int j=0;j<contacts.size();j++){

          final DHTTransportContact  contact = (DHTTransportContact)contacts.get(j);

          if ( router.isID( contact.getID())){
           
            forward_it  = true;
           
            break;
          }
        }
         
        for (int j=0; forward_it && j<contacts.size();j++){
         
          final DHTTransportContact  contact = (DHTTransportContact)contacts.get(j);
         
          if ( key_block.hasBeenSentTo( contact )){
           
            continue;
          }
         
          if ( router.isID( contact.getID())){
           
            continue// ignore ourselves
          }

          if ( contact.getProtocolVersion() >= DHTTransportUDP.PROTOCOL_VERSION_BLOCK_KEYS ){
           
            final Runnable task =
              new Runnable()
              {
                public void
                run()
                {
                  contact.sendKeyBlock(
                    new DHTTransportReplyHandlerAdapter()
                    {
                      public void
                      keyBlockReply(
                        DHTTransportContact   _contact )
                      {
                        DHTLog.log( "key block forward ok " + DHTLog.getString( _contact ));
                       
                        key_block.sentTo( _contact );
                      }
                     
                      public void
                      failed(
                        DHTTransportContact   _contact,
                        Throwable        _error )
                      {
                        DHTLog.log( "key block forward failed " + DHTLog.getString( _contact ) + " -> failed: " + _error.getMessage());
                      }
                    },
                    key_block.getRequest(),
                    key_block.getCertificate());
                }
              };
           
              if ( anti_spoof_done.contains( contact )){
               
View Full Code Here

TOP

Related Classes of com.aelitis.azureus.core.dht.DHTStorageBlock

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.