Package aleph.comm.tcp

Examples of aleph.comm.tcp.Address


 
  public boolean transferFirst(Timespec deadline, Timespec period_ts, int tid, String strAccount, int op_id, int dollars) {
   
    boolean result = false;
    IBankAccount subAccount2  = null;
    Address server2 = null;
    long balance = Long.MIN_VALUE;
    boolean locked1 = false;
    int thread_id = ChronosUtil.gettid();
   
    int utility = 2; // dummy utility -- since scheduling decision is not based
View Full Code Here


    IReservation[] reservIds = new IReservation[3];
    boolean isFound = false;
    Object[] reservations = null;
    Address[] reservationsServers;
    ICustomer customer;
    Address customerServer;
   
    while(true){
      int i=0;
      try {
        Object[] data = open(objId);
        reservations = (Object[])data[0];
        reservationsServers = (Address[])data[1];
       
        data = open(customerId);
        customer = (data==null ? null : (ICustomer)((Object[])data[0])[0]);
        customerServer = (data==null ? null : ((Address[])data[1])[0]);
       
        for(; i<reservations.length; i++){
          IReservation reservation = (IReservation)reservations[i];
          if(reservation!=null)
            reservation.lock();
        }
       
        if(customer!=null)
          customer.lock();
       
        break;
      }catch (NoSuchObjectException e) {
        for(int j=0; j<i; j++){
          IReservation reservation = (IReservation)reservations[j];
          if(reservation!=null)
            reservation.unlock();
        }
        return;
      }catch (InterruptedException e) {
        for(int j=0; j<i; j++){
          IReservation reservation = (IReservation)reservations[j];
          if(reservation!=null)
            reservation.unlock();
        }
      }
    }
    try {
     
      for(int i=0; i<Benchmark.queryPerTransaction; i++){
        int price = Integer.MAX_VALUE;
        IReservation car = (IReservation)reservations[i];
        if(car==null)
          continue;
        if(car.isAvailable())
          price = car.getPrice();
        if(price < minPrice[objType[i]]){
          minPrice[objType[i]] = price;
          minIds[objType[i]] = objId[i];
          reservIds[objType[i]] = car;
          isFound = true;
        }
      }
 
      if(isFound){
        // create customer
        if(customer==null)
          try {
            Address address = (Address) Network.getAddress(Benchmark.getServerId(customerId));
            IVacation vacation = (IVacation)LocateRegistry.getRegistry(address.inetAddress.getHostAddress(), address.port).lookup("vacation");
            customer = vacation.createCustomer(customerId);
          } catch (RemoteException e1) {
            e1.printStackTrace();
          } catch (NotBoundException e) {
View Full Code Here

    Object[] data = null;
    while(true)
      try{
        data = open(customerId);
        customer = (data==null ? null : (ICustomer)((Object[])data[0])[0]);
        Address customerServer = (data==null ? null : ((Address[])data[1])[0]);
       
        if(customer==null)
          return;
       
        customer.lock();
        break;
      }catch (NoSuchObjectException e) {
        return;
      }catch (InterruptedException e) {
      }
     
    data = open(customer.getReservations().toArray(new String[0]));
    Object[] reservationsInfo = (Object[])data[0];
    Address[] reservationsInfoServers = (Address[])data[1];

    for(int i=0; i<reservationsInfo.length; i++){
      IReservationInfo reservationInfo = (IReservationInfo)reservationsInfo[i];
      if(reservationInfo==null)
        continue;
      String reservationId = reservationInfo.getReservedResource();
      while(true)
        try{
          data = open(reservationId);
          IReservation reservation = (data==null ? null : (IReservation)((Object[])data[0])[0]);
          Address reservationServer = (data==null ? null : ((Address[])data[1])[0]);
          if(reservation!=null){
            reservation.lock();
            reservation.release();
            reservation.unlock();
          }
View Full Code Here

    try {
      for(int i=0; i<Benchmark.queryPerTransaction; i++){
        IReservation reservation = (IReservation)reservations[i];
        if(reservation==null){
          try {
            Address address = (Address) Network.getAddress(Benchmark.getServerId(objId[i]));
            IVacation vacation = (IVacation)LocateRegistry.getRegistry(address.inetAddress.getHostAddress(), address.port).lookup("vacation");
            vacation.createReservation(objId[i], price[i]);
            Logger.info(">>>>>>>>>>Add Item...");
          } catch (NotBoundException e) {
            e.printStackTrace();
View Full Code Here

      Integer key = (Integer) ids[0];
      IDistributedHashTable[] tables = new IDistributedHashTable[READ_RANGE];
      try {
        for (int i = 0; i < READ_RANGE; i++) {
          Integer nodeId = findNode(i + key);
          Address server1 = (Address) Network.getAddress(String
              .valueOf(nodeId));
          tables[i] = (IDistributedHashTable) LocateRegistry
          .getRegistry(server1.inetAddress.getHostAddress(),
              server1.port).lookup(
                  DistributedHashTable.BINDING_KEY);
View Full Code Here

      Integer key = (Integer) ids[0];
      IDistributedHashTable[] tables = new IDistributedHashTable[WRITE_RANGE];
      try {
        for(int i=0;i<WRITE_RANGE;i++){
          Integer nodeId = findNode(key+i);
          Address server1 = (Address) Network.getAddress(String.valueOf(nodeId));
          tables[i] = (IDistributedHashTable) LocateRegistry
          .getRegistry(server1.inetAddress.getHostAddress(),
              server1.port).lookup(
                  DistributedHashTable.BINDING_KEY);
          tables[i].wLock(key);
View Full Code Here

    IDistributedHashTable[] tables = new IDistributedHashTable[Network
                                                               .getInstance().nodesCount()];
    try {
      for (int i = 0; i < Network.getInstance().nodesCount(); i++) {
        Integer nodeId = findNode(i);
        Address server1 = (Address) Network.getAddress(String
            .valueOf(nodeId));
        tables[i] = (IDistributedHashTable) LocateRegistry.getRegistry(
            server1.inetAddress.getHostAddress(), server1.port)
            .lookup(DistributedHashTable.BINDING_KEY);
      }
View Full Code Here

  public void add(Integer item) {
//    System.err.println("\nAdd " + item);
    INode pred = null, curr = null;
    try{
      Address predServer = (Address) Network.getAddress(Benchmark.getServerId(HEAD));
      INode head = (INode)LocateRegistry.getRegistry(predServer.inetAddress.getHostAddress(), predServer.port).lookup(HEAD);
      Network.linkDelay(true, predServer);
      head.lock();
      try {
        pred = head;
        Network.linkDelay(true, predServer);
        String nextId = pred.getRightChild();
        if(nextId==null){
          String newNodeId =  Network.getInstance().getID() + "-" + Math.random()// generate random id
          new Node(newNodeId, item);
          Network.linkDelay(true, predServer);
          pred.setRightChild(newNodeId);
          return;
        }
        Address currServer = (Address) Network.getAddress(Benchmark.getServerId(nextId));
        curr = (INode)LocateRegistry.getRegistry(currServer.inetAddress.getHostAddress(), currServer.port).lookup(nextId);
        Network.linkDelay(true, currServer);
        curr.lock();
        try {
          while (true) {
View Full Code Here

  }

  public boolean delete(Integer item) {
    INode pred = null, curr = null;
    try{
      Address predServer = (Address) Network.getAddress(Benchmark.getServerId(HEAD));
      INode head = (INode)LocateRegistry.getRegistry(predServer.inetAddress.getHostAddress(), predServer.port).lookup(HEAD);
      Network.linkDelay(true, predServer);
      head.lock();
      try {
        pred = head;
        boolean right = true;
        Network.linkDelay(true, predServer);
        String nextId = pred.getRightChild();
        if(nextId==null)
          return false;
        Address currServer = (Address) Network.getAddress(Benchmark.getServerId(nextId));
        curr = (INode)LocateRegistry.getRegistry(currServer.inetAddress.getHostAddress(), currServer.port).lookup(nextId);
        Network.linkDelay(true, currServer);
        curr.lock();
        try {
          while (true) {
            Network.linkDelay(true, currServer);
            if(item.equals(curr.getValue())){
              String replacement;
              Network.linkDelay(true, currServer);
              String leftChildId = curr.getLeftChild();
              String rightChildId;
              if(leftChildId==null){
                Network.linkDelay(true, currServer);
                replacement = rightChildId = curr.getRightChild();
//                System.err.println("replace with right child");
              }else{
                Network.linkDelay(true, currServer);
                rightChildId = curr.getRightChild();
                if(rightChildId==null){
                  replacement = leftChildId;
//                  System.err.println("replace with left child");
                }else// get left most in right tree
//                  System.err.println("replace with left most in right tree");
                  String rcId = rightChildId;
                  Address server = (Address) Network.getAddress(Benchmark.getServerId(rcId));
                  INode rc = (INode)LocateRegistry.getRegistry(server.inetAddress.getHostAddress(), server.port).lookup(rcId);
                  Network.linkDelay(true, server);
                  rc.lock();
                  Address replServer;
                  INode replacementNode;
                  Network.linkDelay(true, server);
                  if(rc.getLeftChild()==null){
                    replacement = rcId;
                    replacementNode = rc;
                    replServer = server;
                  }else{
                    INode lf0 = rc;
                    Network.linkDelay(true, server);
                    replacement = lf0.getLeftChild();
                    Address lf1Server = (Address) Network.getAddress(Benchmark.getServerId(replacement));
                    INode lf1 = (INode)LocateRegistry.getRegistry(lf1Server.inetAddress.getHostAddress(), lf1Server.port).lookup(replacement);
                    Network.linkDelay(true, lf1Server);
                    lf1.lock();
                    Network.linkDelay(true, lf1Server);
                    while(lf1.getLeftChild()!=null){
View Full Code Here

  }

  public boolean find(Integer item) {
    INode pred = null, curr = null;
    try{
      Address predServer = (Address) Network.getAddress(Benchmark.getServerId(HEAD));
      INode head = (INode)LocateRegistry.getRegistry(predServer.inetAddress.getHostAddress(), predServer.port).lookup(HEAD);
      Network.linkDelay(true, predServer);
      head.lock();
      try {
        pred = head;
        Network.linkDelay(true, predServer);
        String nextId = pred.getRightChild();
        if(nextId==null)
          return false;
        Address currServer = (Address) Network.getAddress(Benchmark.getServerId(nextId));
        curr = (INode)LocateRegistry.getRegistry(currServer.inetAddress.getHostAddress(), currServer.port).lookup(nextId);
        Network.linkDelay(true, currServer);
        curr.lock();
        try {
          while (true) {
            String currId;
            Network.linkDelay(true, currServer);
            Integer currValue = curr.getValue();
            if(item > currValue){
              Network.linkDelay(true, currServer);
              currId = curr.getRightChild();
            }
            else if(item < currValue){
              Network.linkDelay(true, currServer);
              currId = curr.getLeftChild();
            }
            else{
//              System.err.println("Found!");
              return true;
            }
           
            if (currId == null){
//              System.err.println("Not Found!");
              return false;
            }
            Network.linkDelay(true, predServer);
            pred.unlock();
            pred = curr;
            predServer = currServer;
            Address server = (Address) Network.getAddress(Benchmark.getServerId(currId));
            curr = (INode)LocateRegistry.getRegistry(server.inetAddress.getHostAddress(), server.port).lookup(currId);
            Network.linkDelay(true, currServer);
            curr.lock();
          }
        } finally {
View Full Code Here

TOP

Related Classes of aleph.comm.tcp.Address

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.