本文整理汇总了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");
}
}
示例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);
}
示例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);
}
示例4: getNextKeyInByteOrder
import com.google.protobuf.ByteString; //导入方法依赖的package包/类
public static ByteString getNextKeyInByteOrder(ByteString key) {
return key.concat(ZERO_BYTE);
}
示例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();
}