Package org.gudy.azureus2.core3.util

Examples of org.gudy.azureus2.core3.util.HashWrapper


   
    random.nextBytes( peer_id );
   

    pm_reg = PeerManager.getSingleton().registerLegacyManager(
      new HashWrapper( my_hash ),
      new PeerManagerRegistrationAdapter()
      {
        public byte[][]
              getSecrets()
        {
View Full Code Here


         
          if ( hash_str != null ){
           
            byte[] hash = Base32.decode( hash_str );
           
            DownloadManager dm = gm.getDownloadManager( new HashWrapper( hash ));
           
            if ( dm != null ){
             
              log( "Adding existing association on first read for '" + dm.getDisplayName());
             
View Full Code Here

    DHTTransportTransferHandler  handler )
  {
    logger.log( "Transfer handler (" + handler.getName() + ") registered for key '" + ByteFormatter.encodeString( handler_key ));
   
    transfer_handlers.put(
      new HashWrapper( handler_key ),
      new transferHandlerInterceptor(
          handler ));
  }
View Full Code Here

    boolean            write_request,
    boolean            first_packet_only )
 
    throws DHTTransportException
  {
    DHTTransportTransferHandler  handler = (DHTTransportTransferHandler)transfer_handlers.get(new HashWrapper( transfer_key ));
   
    if ( handler == null ){
     
      logger.log( "No transfer handler registered for key '" + ByteFormatter.encodeString(transfer_key) + "'" );
     
View Full Code Here

         
          old_queue.add( req );
         
        }else{
       
          final DHTTransportTransferHandler  handler = (DHTTransportTransferHandler)transfer_handlers.get(new HashWrapper( transfer_key ));
         
          if ( handler == null ){
           
            logger.log( "No transfer handler registered for key '" + ByteFormatter.encodeString(transfer_key) + "'" );
           
View Full Code Here

   
    random.nextBytes( call_key );
   
    AESemaphore  call_sem = new AESemaphore( "DHTTransportUDP:calSem" );
   
    HashWrapper  wrapped_key = new HashWrapper( call_key );
   
    try{
      this_mon.enter();
     
      call_transfers.put( wrapped_key, call_sem );
View Full Code Here

    Object  o_key = ddb_key.getKey();
   
    try{
      byte[]  key = (byte[])o_key;
     
      HashWrapper  hw = new HashWrapper( key );
     
      synchronized( request_history ){
       
        if ( request_history.containsKey( hw )){
                   
View Full Code Here

    // be close to it and be asked by another node to cache it!

    DHTTransportContact  originator     = new_value.getOriginator();
    DHTTransportContact  sender       = new_value.getSender();

    HashWrapper  originator_id = new HashWrapper( originator.getID());
   
    boolean  direct = Arrays.equals( originator.getID(), sender.getID());
   
    if ( direct ){
     
        // direct contact from the originator is straight forward
     
      addDirectValue( originator_id, new_value );
     
        // remove any indirect values we might already have for this
     
      Iterator<Map.Entry<HashWrapper,DHTDBValueImpl>>  it = indirect_originator_value_map.entrySet().iterator();
     
      List<HashWrapper>  to_remove = new ArrayList<HashWrapper>();
     
      while( it.hasNext()){
       
        Map.Entry<HashWrapper,DHTDBValueImpl>  entry = it.next();
       
        HashWrapper    existing_key  = entry.getKey();
       
        DHTDBValueImpl  existing_value  = entry.getValue();
 
        if ( Arrays.equals( existing_value.getOriginator().getID(), originator.getID())){
       
          to_remove.add( existing_key );
        }
      }
     
      for (int i=0;i<to_remove.size();i++){
       
        removeIndirectValue((HashWrapper)to_remove.get(i));
      }
    }else{
     
        // not direct. if we have a value already for this originator then
        // we drop the value as the originator originated one takes precedence
     
      if (   direct_originator_map_may_be_null != null &&
          direct_originator_map_may_be_null.get( originator_id ) != null ){
       
        return;
      }
           
        // rule (b) - one entry per originator/value pair
       
      HashWrapper  originator_value_id = getOriginatorValueID( new_value );

      DHTDBValueImpl existing_value = indirect_originator_value_map.get( originator_value_id );
     
      if ( existing_value != null ){
       
View Full Code Here

      // with the same key but variant values (e.g. seed/peer counts). Seeing as we
      // only accept cache-forwards from contacts that are "close" enough to us to
      // be performing such a forward, the DOS possibilities here are limited (a nasty
      // contact can only trash originator values for things it happens to be close to)
   
    return( new HashWrapper( originator_id ));
   
    /*
    byte[]  value_bytes   = value.getValue();

    byte[]  x = new byte[originator_id.length + value_bytes.length];
View Full Code Here

   
      while( it.hasNext() && ( max==0 || res.size()< max )){
     
        Map.Entry<HashWrapper,DHTDBValueImpl>  entry = it.next();
       
        HashWrapper    entry_key  = entry.getKey();
       
        DHTDBValueImpl  entry_value = entry.getValue();
           
        HashWrapper  x = new HashWrapper( entry_value.getValue());
       
        if ( duplicate_check.contains( x )){
         
          continue;
        }
View Full Code Here

TOP

Related Classes of org.gudy.azureus2.core3.util.HashWrapper

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.