Package org.apache.aurora.gen.storage

Examples of org.apache.aurora.gen.storage.FrameHeader


    double chunkBytes = entry.length / 2.0;
    Amount<Integer, Data> chunkSize = Amount.of((int) Math.floor(chunkBytes), Data.BYTES);
    int chunkLength = chunkSize.getValue();
    int chunkCount = (int) Math.ceil(entry.length / (double) chunkSize.getValue());

    Frame header = Frame.header(new FrameHeader(chunkCount,
        ByteBuffer.wrap(MessageDigest.getInstance("MD5").digest(entry))));

    List<Frame> chunks = Lists.newArrayList();
    for (int i = 0; i < chunkCount; i++) {
      int offset = i * chunkLength;
 
View Full Code Here


    private LogEntry tryDecodeFrame(Frame frame, Iterator<Entry> entries) throws CodingException {
      if (!isHeader(frame)) {
        LOG.warning("Found a frame with no preceding header, skipping.");
        return null;
      }
      FrameHeader header = frame.getHeader();
      byte[][] chunks = new byte[header.chunkCount][];

      digest.reset();
      for (int i = 0; i < header.chunkCount; i++) {
        if (!entries.hasNext()) {
          logBadFrame(header, i);
          return null;
        }
        LogEntry logEntry = decodeLogEntry(entries.next());
        if (!isFrame(logEntry)) {
          logBadFrame(header, i);
          return logEntry;
        }
        Frame chunkFrame = logEntry.getFrame();
        if (!isChunk(chunkFrame)) {
          logBadFrame(header, i);
          return logEntry;
        }
        byte[] chunkData = chunkFrame.getChunk().getData();
        digest.update(chunkData);
        chunks[i] = chunkData;
      }
      if (!Arrays.equals(header.getChecksum(), digest.digest())) {
        throw new CodingException("Read back a framed log entry that failed its checksum");
      }
      return Entries.thriftBinaryDecode(Bytes.concat(chunks));
    }
View Full Code Here

        }

        int chunks = (int) Math.ceil(entry.length / (double) maxEntrySizeBytes);
        byte[][] frames = new byte[chunks + 1][];

        frames[0] = encode(Frame.header(new FrameHeader(chunks, ByteBuffer.wrap(checksum(entry)))));
        for (int i = 0; i < chunks; i++) {
          int offset = i * maxEntrySizeBytes;
          ByteBuffer chunk =
              ByteBuffer.wrap(entry, offset, Math.min(maxEntrySizeBytes, entry.length - offset));
          frames[i + 1] = encode(Frame.chunk(new FrameChunk(chunk)));
View Full Code Here

  private LogEntry tryDecodeFrame(Frame frame, Iterator<Log.Entry> entries) throws CodingException {
    if (!isHeader(frame)) {
      LOG.warning("Found a frame with no preceding header, skipping.");
      return null;
    }
    FrameHeader header = frame.getHeader();
    byte[][] chunks = new byte[header.getChunkCount()][];

    Hasher hasher = hashFunction.newHasher();
    for (int i = 0; i < header.getChunkCount(); i++) {
      if (!entries.hasNext()) {
        logBadFrame(header, i);
        return null;
      }
      LogEntry logEntry = decodeLogEntry(entries.next());
      if (!isFrame(logEntry)) {
        logBadFrame(header, i);
        return logEntry;
      }
      Frame chunkFrame = logEntry.getFrame();
      if (!isChunk(chunkFrame)) {
        logBadFrame(header, i);
        return logEntry;
      }
      byte[] chunkData = chunkFrame.getChunk().getData();
      hasher.putBytes(chunkData);
      chunks[i] = chunkData;
    }
    if (!Arrays.equals(header.getChecksum(), hasher.hash().asBytes())) {
      throw new CodingException("Read back a framed log entry that failed its checksum");
    }
    return Entries.thriftBinaryDecode(Bytes.concat(chunks));
  }
View Full Code Here

      }

      int chunks = (int) Math.ceil(entry.length / (double) maxEntrySizeBytes);
      byte[][] frames = new byte[chunks + 1][];

      frames[0] = encode(Frame.header(new FrameHeader(chunks, ByteBuffer.wrap(checksum(entry)))));
      for (int i = 0; i < chunks; i++) {
        int offset = i * maxEntrySizeBytes;
        ByteBuffer chunk =
            ByteBuffer.wrap(entry, offset, Math.min(maxEntrySizeBytes, entry.length - offset));
        frames[i + 1] = encode(Frame.chunk(new FrameChunk(chunk)));
View Full Code Here

    double chunkBytes = entry.length / 2.0;
    Amount<Integer, Data> chunkSize = Amount.of((int) Math.floor(chunkBytes), Data.BYTES);
    int chunkLength = chunkSize.getValue();
    int chunkCount = (int) Math.ceil(entry.length / (double) chunkSize.getValue());

    Frame header = Frame.header(new FrameHeader(chunkCount,
        ByteBuffer.wrap(MessageDigest.getInstance("MD5").digest(entry))));

    List<Frame> chunks = Lists.newArrayList();
    for (int i = 0; i < chunkCount; i++) {
      int offset = i * chunkLength;
 
View Full Code Here

TOP

Related Classes of org.apache.aurora.gen.storage.FrameHeader

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.