Package depskys.clouds

Examples of depskys.clouds.CloudReply


        if (mdreply.reg.cloudVersions.size() >= depskys.N - depskys.F
            && rcs.replies.size() > depskys.F
            && mdreply.reg.isPVSS()) {
          //System.out.println("pvssRnR_REPLIES SIZE = " + rcs.replies.size());
          for (int i = 0; i < rcs.replies.size() - 1; i++) {
            CloudReply r = rcs.replies.get(i);
            if (r.response != null && r.vNumber != null
                && rcs.replies.get(i).vNumber.equals(mdreply.reg.getMaxVersion() + "")
                && rcs.replies.get(i + 1).vNumber.equals(mdreply.reg.getMaxVersion() + "")) {
              //System.out.println("RELEASED#processMetadata");
              rcs.waitReplies.release();
              return true;
            }
          }
        }
        if (mdreply.reg.cloudVersions.size() >= depskys.N - depskys.F
            && rcs.replies.size() > 0
            && !mdreply.reg.isPVSS()) {
          //System.out.println("normalRnR_REPLIES SIZE = " + rcs.replies.size());
          for (int i = 0; i < rcs.replies.size(); i++) {
            CloudReply r = rcs.replies.get(i);
            if (r.response != null && r.vNumber != null
                && rcs.replies.get(i).vNumber.equals(mdreply.reg.getMaxVersion() + "")) {
              //System.out.println("RELEASED#processMetadata");
              rcs.waitReplies.release();
              return true;
View Full Code Here


      int[] versionReceived = new int[N];
      int maxVerCounter = 0, oldVerCounter = 0;

      //process replies to analyze if we get correct responses
      for (int i = 0; i < rcs.replies.size(); i++) {
        CloudReply r = rcs.replies.get(i)
        if (r.response == null || r.type != DepSkySCloudManager.GET_DATA
            || r.vNumber == null || r.reg == null) {
          nullResponses++;
          //Fault check #1
          if (nullResponses > N - F) {
            throw new Exception("READ ERROR: DepSky-S DataUnit does not exist or client is offline (internet connection failed)");
          } else if (nullResponses > F) {
            //System.out.println(r.response + "  \n" + r.type + "  \n" + r.vNumber + "  \n" + r.reg.toString());
            throw new Exception("READ ERROR: at least f + 1 clouds failed");
          }
        } else {
          Long maxVersionFound = r.reg.getMaxVersion();
          //process replies
          if (reg.isPVSS()) {
            //Data Unit using PVSS (retuns when having f + 1 sequential replies with maxVersionFound)
            if (r.reg.getMaxVersion()==null || maxVersionFound.longValue() == Long.parseLong(r.vNumber)) {
              //have max version
              versionReceived[i] = 1;
              maxVerCounter++;
            } else {
              //have old version
              versionReceived[i] = 2;
              oldVerCounter++;
            }
            reg = r.reg;
          } else {
            //Data Unit NOT using PVSS (returns first reply with maxVersionFound in metadata)
            if (maxVersionFound.longValue() == Long.parseLong(r.vNumber)) {
              //                            reg.clearAllCaches();
              lastReadRepliesMaxVerIdx = i;
              return (byte[]) r.response;
            }
          }
        }
      }//for replies

      //get the value of each response (each cloud could have differents blocks)
      Share[] keyshares = new Share[N];
      Map<String, byte[]> erasurec = new HashMap<>();
      if(reg.isErsCodes() || reg.isSecSharing() || reg.isPVSS()){

        for (int i = 0; i < rcs.replies.size(); i++) {
          if (maxVerCounter >= T && versionReceived[i] != 1) {
            CloudReply resp = rcs.replies.get(i);
            resp.invalidateResponse();
          } else if (oldVerCounter >= T && versionReceived[i] != 2) {
            CloudReply resp = rcs.replies.get(i);
            resp.invalidateResponse();
          }
        }
        for (CloudReply r : rcs.replies) {
          int i = 0;
          if(r.response != null){
View Full Code Here

      int[] versionReceived = new int[N];
      int maxVerCounter = 0, oldVerCounter = 0;

      //process replies to analyze if we get correct responses
      for (int i = 0; i < rcs.replies.size(); i++) {
        CloudReply r = rcs.replies.get(i)
        if (r.response == null || r.type != DepSkySCloudManager.GET_DATA
            || r.vNumber == null || r.reg == null) {
          nullResponses++;
          //Fault check #1
        } else {
          Long maxVersionFound = r.reg.getMaxVersion();
          //process replies
          if (reg.isPVSS()) {
            //Data Unit using PVSS (retuns when having f + 1 sequential replies with maxVersionFound)
            if (r.reg.getMaxVersion()==null || maxVersionFound.longValue() == Long.parseLong(r.vNumber)) {
              //have max version
              versionReceived[i] = 1;
              maxVerCounter++;
            } else {
              //have old version
              versionReceived[i] = 2;
              oldVerCounter++;
            }
          } else {
            //Data Unit NOT using PVSS (returns first reply with maxVersionFound in metadata)
            if (maxVersionFound.longValue() == Long.parseLong(r.vNumber)) {
              lastReadRepliesMaxVerIdx = i;
              return (byte[]) r.response; // using DepSky-A
            }
          }
        }
      }//for replies

      if (nullResponses >= N - F) {
        throw new Exception("READ ERROR: DepSky-S DataUnit does not exist or client is offline (internet connection failed)");
      } else if (nullResponses > F) {
        //System.out.println(r.response + "  \n" + r.type + "  \n" + r.vNumber + "  \n" + r.reg.toString());
        throw new Exception("READ ERROR: at least f + 1 clouds failed.");
      }

      Share[] keyshares = new Share[N];
      Map<String, byte[]> erasurec = new HashMap<>();
      if(reg.isErsCodes() || reg.isSecSharing() || reg.isPVSS()){

        for (int i = 0; i < rcs.replies.size(); i++) {
          if (maxVerCounter >= T && versionReceived[i] != 1) {
            CloudReply resp = rcs.replies.get(i);
            resp.invalidateResponse();
          } else if (oldVerCounter >= T && versionReceived[i] != 2) {
            CloudReply resp = rcs.replies.get(i);
            resp.invalidateResponse();
          }
        }

        for (CloudReply r : rcs.replies) {
          int i = 0;
View Full Code Here

      int nullCounter = 0;
      long maxVersionFound = -1;

      //proccess metadata replies
      for (int i = 0; i < rcs.replies.size(); i++) {
        CloudReply r = rcs.replies.get(i);
        if (r.response == null || r.type != DepSkySCloudManager.GET_DATA
            || r.vNumber == null) {
          nullCounter++;
          continue;
        } else {
View Full Code Here

        && rcs.replies.size() > F) {
      //SecretSharing read trigger (reg with PVSS)
      Long maxVersion = reply.reg.getMaxVersion();
      int maxcounter = 0, othercounter = 0;
      for (int i = 0; i < rcs.replies.size(); i++) {
        CloudReply r = rcs.replies.get(i);
        if (r.response != null
            && maxVersion != null
            && Long.parseLong(r.vNumber) == maxVersion.longValue()) {
          maxcounter++;
        } else {
View Full Code Here

    } catch (InterruptedException e) {
      //erro sem�foro
    }
    int nullCounter = 0;
    for (int i = 0; i < rcs.replies.size(); i++) {
      CloudReply r = rcs.replies.get(i);
      if (r.response == null) {
        System.out.println("erro na cloud " + r.cloudId);
        nullCounter++;
        if (nullCounter > 0) {
          System.out.println("ERROR: drivers initialization failed");
View Full Code Here

      }

      rcs.waitReplies.acquire();
      LinkedList<byte[]> readvalue = new LinkedList<byte[]>();
      for (int i = 0; i < rcs.replies.size(); i++) {
        CloudReply r = rcs.replies.get(i);
        if(r.vNumber.equals("true") && r.response != null){
          byte[] data = (byte[]) r.response;
          readvalue.add(data);
        }
      }
View Full Code Here

      LinkedList<LinkedList<String>> listPerClouds = new LinkedList<LinkedList<String>>();
      rcs.waitReplies.acquire();
      int nullcounter = 0;
      LinkedList<String> res;
      for (int i = 0; i < rcs.replies.size(); i++) {
        CloudReply r = rcs.replies.get(i)

        if(r.listNames == null){
          nullcounter++;
        }else{
          res = r.listNames;
View Full Code Here

      manager.doRequest(driverId, r);

      rcs.waitReplies.acquire();
      byte[] readvalue = null;
      for (int i = 0; i < rcs.replies.size(); i++) {
        CloudReply rep = rcs.replies.get(i);
        if(rep.vNumber.equals("false") && rep.response != null){
          readvalue = (byte[]) rep.response;

        }
      }
View Full Code Here

TOP

Related Classes of depskys.clouds.CloudReply

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.