当前位置: 首页>>代码示例>>Java>>正文


Java ByteString.concat方法代码示例

本文整理汇总了Java中com.google.protobuf.ByteString.concat方法的典型用法代码示例。如果您正苦于以下问题:Java ByteString.concat方法的具体用法?Java ByteString.concat怎么用?Java ByteString.concat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.protobuf.ByteString的用法示例。


在下文中一共展示了ByteString.concat方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: shiftByStatus

import com.google.protobuf.ByteString; //导入方法依赖的package包/类
private static ByteString shiftByStatus(ByteString v, Status s) {
  switch (s) {
    case EQUAL:
      return v;
    case LESS:
      return v.substring(0, v.size() - 1);
    case GREATER:
      return v.concat(ByteString.copyFrom(new byte[] {1, 0}));
    default:
  	throw new IllegalArgumentException("Only EQUAL,LESS,GREATER allowed");
  }
}
 
开发者ID:pingcap,项目名称:tikv-client-lib-java,代码行数:13,代码来源:RangeSplitterTest.java

示例2: readSpanningChunks

import com.google.protobuf.ByteString; //导入方法依赖的package包/类
@Test
public void readSpanningChunks() throws IOException {
  ByteString hello = ByteString.copyFromUtf8("Hello, ");
  ByteString world = ByteString.copyFromUtf8("World");
  InputStream in = new ByteStringIteratorInputStream(
      ImmutableList.<ByteString>of(hello, world).iterator());
  ByteString helloWorld = hello.concat(world);
  byte[] data = new byte[helloWorld.size()];

  assertThat(in.read(data)).isEqualTo(helloWorld.size());
  assertThat(ByteString.copyFrom(data)).isEqualTo(helloWorld);
  assertThat(in.read()).isEqualTo(-1);
}
 
开发者ID:bazelbuild,项目名称:bazel-buildfarm,代码行数:14,代码来源:ByteStringIteratorInputStreamTest.java

示例3: readSpanningChunksWithEmptyChunk

import com.google.protobuf.ByteString; //导入方法依赖的package包/类
@Test
public void readSpanningChunksWithEmptyChunk() throws IOException {
  ByteString hello = ByteString.copyFromUtf8("Hello, ");
  ByteString world = ByteString.copyFromUtf8("World");
  InputStream in = new ByteStringIteratorInputStream(
      ImmutableList.<ByteString>of(hello, ByteString.EMPTY, world).iterator());
  ByteString helloWorld = hello.concat(world);
  byte[] data = new byte[helloWorld.size()];

  assertThat(in.read(data)).isEqualTo(helloWorld.size());
  assertThat(ByteString.copyFrom(data)).isEqualTo(helloWorld);
  assertThat(in.read()).isEqualTo(-1);
}
 
开发者ID:bazelbuild,项目名称:bazel-buildfarm,代码行数:14,代码来源:ByteStringIteratorInputStreamTest.java

示例4: getNextKeyInByteOrder

import com.google.protobuf.ByteString; //导入方法依赖的package包/类
public static ByteString getNextKeyInByteOrder(ByteString key) {
  return key.concat(ZERO_BYTE);
}
 
开发者ID:pingcap,项目名称:tikv-client-lib-java,代码行数:4,代码来源:KeyUtils.java

示例5: split

import com.google.protobuf.ByteString; //导入方法依赖的package包/类
public static List<Coprocessor.KeyRange> split(Coprocessor.KeyRange range, int splitFactor) {
  if (splitFactor > 32 || splitFactor <= 0 || (splitFactor & (splitFactor - 1)) != 0) {
    throw new TiClientInternalException(
        "splitFactor must be positive integer power of 2 and no greater than 16");
  }

  ByteString startKey = range.getStart();
  ByteString endKey = range.getEnd();
  // we don't cut infinite
  if (startKey.isEmpty() || endKey.isEmpty()) {
    return ImmutableList.of(range);
  }

  ImmutableList.Builder<Coprocessor.KeyRange> resultList = ImmutableList.builder();
  int maxSize = Math.max(startKey.size(), endKey.size());
  int i;

  for (i = 0; i < maxSize; i++) {
    byte sb = i < startKey.size() ? startKey.byteAt(i) : 0;
    byte eb = i < endKey.size() ? endKey.byteAt(i) : 0;
    if (sb != eb) {
      break;
    }
  }

  ByteString sRemaining = i < startKey.size() ? startKey.substring(i) : ByteString.EMPTY;
  ByteString eRemaining = i < endKey.size() ? endKey.substring(i) : ByteString.EMPTY;

  CodecDataInput cdi = new CodecDataInput(sRemaining);
  int uss = cdi.readPartialUnsignedShort();

  cdi = new CodecDataInput(eRemaining);
  int ues = cdi.readPartialUnsignedShort();

  int delta = (ues - uss) / splitFactor;
  if (delta <= 0) {
    return ImmutableList.of(range);
  }

  ByteString prefix = startKey.size() > endKey.size() ?
                      startKey.substring(0, i) : endKey.substring(0, i);
  ByteString newStartKey = startKey;
  ByteString newEndKey;
  for (int j = 0; j < splitFactor; j++) {
    uss += delta;
    if (j == splitFactor - 1) {
      newEndKey = endKey;
    } else {
      CodecDataOutput cdo = new CodecDataOutput();
      cdo.writeShort(uss);
      newEndKey = prefix.concat(cdo.toByteString());
    }
    resultList.add(makeCoprocRange(newStartKey, newEndKey));
    newStartKey = newEndKey;
  }

  return resultList.build();
}
 
开发者ID:pingcap,项目名称:tikv-client-lib-java,代码行数:59,代码来源:KeyRangeUtils.java


注:本文中的com.google.protobuf.ByteString.concat方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。