Package org.infinispan.remoting.transport

Examples of org.infinispan.remoting.transport.TopologyAwareAddress


      assertEquals(receivedUnique.size(), expectedOwners);

      // Check the number of machines
      Set<String> receivedMachines = new HashSet<String>();
      for (Address a : received) {
         TopologyAwareAddress taa = (TopologyAwareAddress) a;
         receivedMachines.add(taa.getMachineId() + "|" + taa.getRackId() + "|" + taa.getSiteId());
      }
      assertEquals(receivedMachines.size(), expectedMachines);

      // Check the number of racks
      Set<String> receivedRacks = new HashSet<String>();
      for (Address a : received) {
         TopologyAwareAddress taa = (TopologyAwareAddress) a;
         receivedRacks.add(taa.getRackId() + "|" + taa.getSiteId());
      }
      assertEquals(receivedRacks.size(), expectedRacks);

      // Check the number of sites
      Set<String> receivedSites = new HashSet<String>();
View Full Code Here


         }
      }
   }

   private boolean locationAlreadyAdded(Address candidate, List<Address> owners, TopologyLevel level) {
      TopologyAwareAddress topologyAwareCandidate = (TopologyAwareAddress) candidate;
      boolean locationAlreadyAdded = false;
      for (Address owner : owners) {
         TopologyAwareAddress topologyAwareOwner = (TopologyAwareAddress) owner;
         switch (level) {
            case SITE:
               locationAlreadyAdded = topologyAwareCandidate.isSameSite(topologyAwareOwner);
               break;
            case RACK:
View Full Code Here

            break;
      }
      List<Address> result = new ArrayList<Address>();
      for (Address address : members) {
         if(address instanceof TopologyAwareAddress){
            TopologyAwareAddress taa = (TopologyAwareAddress)address;
            if(filter.include(taa, (TopologyAwareAddress)getAddress())){
               result.add(address);
            }
         } else {
            result.add(address);
View Full Code Here

         }
      }
   }

   private boolean locationAlreadyAdded(Address candidate, List<Address> owners, TopologyLevel level) {
      TopologyAwareAddress topologyAwareCandidate = (TopologyAwareAddress) candidate;
      boolean locationAlreadyAdded = false;
      for (Address owner : owners) {
         TopologyAwareAddress topologyAwareOwner = (TopologyAwareAddress) owner;
         switch (level) {
            case SITE:
               locationAlreadyAdded = topologyAwareCandidate.isSameSite(topologyAwareOwner);
               break;
            case RACK:
View Full Code Here

         }
      }
   }

   private void addTopology(Address node) {
      TopologyAwareAddress taNode = (TopologyAwareAddress) node;
      String siteId = taNode.getSiteId();
      String rackId = taNode.getRackId();
      String machineId = taNode.getMachineId();

      Site site = allSites.get(siteId);
      if (site == null) {
         site = new Site(siteId);
         allSites.put(siteId, site);
View Full Code Here

   public int computeExpectedSegments(int numSegments, int numOwners, Address node) {
      if (capacityFactors != null && capacityFactors.get(node) == 0.0)
         return 0;

      TopologyAwareAddress taa = (TopologyAwareAddress) node;
      String siteId = taa.getSiteId();
      String rackId = taa.getRackId();
      String machineId = taa.getMachineId();

      Site site = allSites.get(siteId);
      Rack rack = site.racks.get(rackId);
      Machine machine = rack.machines.get(machineId);
View Full Code Here

         }
      }
   }

   private Object getLocationId(Address address, TopologyLevel level) {
      TopologyAwareAddress taa = (TopologyAwareAddress) address;
      Object locationId;
      switch (level) {
         case SITE:
            locationId = "" + taa.getSiteId();
            break;
         case RACK:
            locationId = taa.getSiteId() + "|" + taa.getRackId();
            break;
         case MACHINE:
            locationId = taa.getSiteId() + "|" + taa.getRackId() + "|" + taa.getMachineId();
            break;
         case NODE:
            locationId = address;
            break;
         default:
View Full Code Here

      if (locateOwnersForLevel(firstOwnerIndex, actualReplCount, Level.MACHINE, machineIdChangeIndexes, target, owners))
         return owners;

      // we have exhausted all the levels, now check for duplicate nodes on the same machines
      for (Iterator<Map.Entry<Integer, Address>> it = getPositionsIterator(keyNormalizedHash); it.hasNext();) {
         TopologyAwareAddress address = (TopologyAwareAddress) it.next().getValue();
         if (addOwner(owners, address, replCount, target, Level.NONE))
            return owners;
      }

      // might return < replCount owners if there aren't enough nodes in the list
View Full Code Here

    * owners or <code>target</code> is one of the owners.
    */
   private boolean locateOwnersForLevel(int firstOwnerIndex, int replCount, Level level, SortedSet<Integer> levelIdChangeIndexes, Address target, List<Address> owners) {
      // start with the nodes after firstOwnerIndex in the wheel
      for (Integer addrIndex : levelIdChangeIndexes.tailSet(firstOwnerIndex)) {
         TopologyAwareAddress address = (TopologyAwareAddress) positionValues[addrIndex];
         if (addOwner(owners, address, replCount, target, level))
            return true;
      }
      // continue with the nodes from the beginning to firstOwnerIndex
      for (Integer addrIndex : levelIdChangeIndexes.headSet(firstOwnerIndex)) {
         TopologyAwareAddress address = (TopologyAwareAddress) positionValues[addrIndex];
         if (addOwner(owners, address, replCount, target, level))
            return true;
      }
      return false;
   }
View Full Code Here

      super.setCaches(newCaches);

      siteIdChangeIndexes.clear();
      rackIdChangeIndexes.clear();
      machineIdChangeIndexes.clear();
      TopologyAwareAddress lastSiteAddr = (TopologyAwareAddress) positionValues[positionValues.length - 1];
      TopologyAwareAddress lastRackAddr = (TopologyAwareAddress) positionValues[positionValues.length - 1];
      TopologyAwareAddress lastMachineAddr = (TopologyAwareAddress) positionValues[positionValues.length - 1];
      for (int i = 0; i < positionKeys.length; i++) {
         TopologyAwareAddress a = (TopologyAwareAddress) positionValues[i];
         if (!lastSiteAddr.isSameSite(a)) {
            siteIdChangeIndexes.add(i);
            lastSiteAddr = a;
         }
         if (!lastRackAddr.isSameRack(a)) {
View Full Code Here

TOP

Related Classes of org.infinispan.remoting.transport.TopologyAwareAddress

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.