com.google.protobuf.ByteString#iterator ( )源码实例Demo

下面列出了com.google.protobuf.ByteString#iterator ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: heroic   文件: RowFilter.java
static int compareByteStrings(final ByteString a, final ByteString b) {
    final ByteString.ByteIterator left = a.iterator();
    final ByteString.ByteIterator right = b.iterator();

    while (left.hasNext() && right.hasNext()) {
        final int c = Integer.compareUnsigned(left.nextByte(), right.nextByte());

        if (c != 0) {
            return c;
        }
    }

    if (left.hasNext()) {
        return 1;
    }

    if (right.hasNext()) {
        return -1;
    }

    return 0;
}
 
源代码2 项目: heroic   文件: BigtableBackendTest.java
int compare(ByteString a, ByteString b) {
    ByteIterator itA = a.iterator();
    ByteIterator itB = b.iterator();

    while (itA.hasNext()) {
        if (!itB.hasNext()) {
            return -1;
        }

        int bA = itA.nextByte() & 0xff;
        int bB = itB.nextByte() & 0xff;

        int c = Integer.compare(bA, bB);

        if (c != 0) {
            return c;
        }
    }

    if (itB.hasNext()) {
        return 1;
    }

    return 0;
}
 
private String asHexString(ByteString id) {
  ByteIterator iterator = id.iterator();
  StringBuilder out = new StringBuilder();
  while (iterator.hasNext()) {
    byte b = iterator.nextByte();
    out.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
  }
  return out.toString();
}
 
@Nullable
private ExperimentPayload deserializePayload(ByteString legacyExperimentPayload) {
  try {
    Iterator<Byte> byteIterator = legacyExperimentPayload.iterator();
    byte[] payloadArray = new byte[legacyExperimentPayload.size()];
    for (int index = 0; index < payloadArray.length; index++) {
      payloadArray[index] = byteIterator.next();
    }
    return ExperimentPayload.parseFrom(payloadArray);
  } catch (InvalidProtocolBufferException e) {
    Log.d(TAG, "Payload was not defined or could not be deserialized.", e);
    return null;
  }
}
 
private String asHexString(ByteString id) {
    ByteIterator iterator = id.iterator();
    StringBuilder out = new StringBuilder();
    while (iterator.hasNext()) {
        byte b = iterator.nextByte();
        out.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
    }
    return out.toString();
}
 
源代码6 项目: j2objc   文件: ByteStringTest.java
public void testIterator() throws Exception {
  ByteString s1 = ByteString.copyFrom("foo".getBytes("UTF-8"));
  ByteString s2 = ByteString.copyFrom("你好".getBytes("UTF-8"));
  Iterator<Byte> i1 = s1.iterator();
  Iterator<Byte> i2 = s2.iterator();
  for (int i = 0; i < s1.size(); i++) {
    assertEquals((Byte) s1.byteAt(i), i1.next());
  }
  for (int i = 0; i < s2.size(); i++) {
    assertEquals((Byte) s2.byteAt(i), i2.next());
  }
}