akka.protobuf.ByteString.copyFrom()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(9.0k)|赞(0)|评价(0)|浏览(189)

本文整理了Java中akka.protobuf.ByteString.copyFrom()方法的一些代码示例,展示了ByteString.copyFrom()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ByteString.copyFrom()方法的具体详情如下:
包路径:akka.protobuf.ByteString
类名称:ByteString
方法名:copyFrom

ByteString.copyFrom介绍

[英]Concatenates all byte strings in the iterable and returns the result. This is designed to run in O(list size), not O(total bytes).

The returned ByteString is not necessarily a unique object. If the list is empty, the returned object is the singleton empty ByteString. If the list has only one element, that ByteString will be returned without copying.
[中]连接iterable中的所有字节字符串并返回结果。这是为了在O(列表大小)中运行,而不是在O(总字节)中运行。
返回的ByteString不一定是唯一的对象。如果列表为空,则返回的对象是singleton empty ByteString。如果列表只有一个元素,那么将返回该ByteString而不进行复制。

代码示例

代码示例来源:origin: com.typesafe.akka/akka-protobuf

/**
 * Copies the given bytes into a {@code ByteString}.
 *
 * @param bytes to copy
 * @return new {@code ByteString}
 */
public static ByteString copyFrom(byte[] bytes) {
 return copyFrom(bytes, 0, bytes.length);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.11

/**
 * Copies the given bytes into a {@code ByteString}.
 *
 * @param bytes to copy
 * @return new {@code ByteString}
 */
public static ByteString copyFrom(byte[] bytes) {
 return copyFrom(bytes, 0, bytes.length);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.12

/**
 * Copies the given bytes into a {@code ByteString}.
 *
 * @param bytes to copy
 * @return new {@code ByteString}
 */
public static ByteString copyFrom(byte[] bytes) {
 return copyFrom(bytes, 0, bytes.length);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf

/**
 * Copies the remaining bytes from a {@code java.nio.ByteBuffer} into
 * a {@code ByteString}.
 *
 * @param bytes sourceBuffer
 * @return new {@code ByteString}
 */
public static ByteString copyFrom(ByteBuffer bytes) {
 return copyFrom(bytes, bytes.remaining());
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.12

/**
 * Copies the remaining bytes from a {@code java.nio.ByteBuffer} into
 * a {@code ByteString}.
 *
 * @param bytes sourceBuffer
 * @return new {@code ByteString}
 */
public static ByteString copyFrom(ByteBuffer bytes) {
 return copyFrom(bytes, bytes.remaining());
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.11

/**
 * Copies the remaining bytes from a {@code java.nio.ByteBuffer} into
 * a {@code ByteString}.
 *
 * @param bytes sourceBuffer
 * @return new {@code ByteString}
 */
public static ByteString copyFrom(ByteBuffer bytes) {
 return copyFrom(bytes, bytes.remaining());
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf

/**
 * Helper called by generated code to construct default values for bytes
 * fields.
 * <p>
 * This is a lot like {@link #stringDefaultValue}, but for bytes fields.
 * In this case we only need the second of the two hacks -- allowing us to
 * embed raw bytes as a string literal with ISO-8859-1 encoding.
 */
public static ByteString bytesDefaultValue(String bytes) {
 try {
  return ByteString.copyFrom(bytes.getBytes("ISO-8859-1"));
 } catch (UnsupportedEncodingException e) {
  // This should never happen since all JVMs are required to implement
  // ISO-8859-1.
  throw new IllegalStateException(
    "Java VM does not support a standard character set.", e);
 }
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.11

/**
 * Helper called by generated code to construct default values for bytes
 * fields.
 * <p>
 * This is a lot like {@link #stringDefaultValue}, but for bytes fields.
 * In this case we only need the second of the two hacks -- allowing us to
 * embed raw bytes as a string literal with ISO-8859-1 encoding.
 */
public static ByteString bytesDefaultValue(String bytes) {
 try {
  return ByteString.copyFrom(bytes.getBytes("ISO-8859-1"));
 } catch (UnsupportedEncodingException e) {
  // This should never happen since all JVMs are required to implement
  // ISO-8859-1.
  throw new IllegalStateException(
    "Java VM does not support a standard character set.", e);
 }
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf

/**
 * Creates a byte string. Its size is the current size of this output
 * stream and its output has been copied to it.
 *
 * @return  the current contents of this output stream, as a byte string.
 */
public synchronized ByteString toByteString() {
 flushLastBuffer();
 return ByteString.copyFrom(flushedBuffers);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.11

/**
 * Creates a byte string. Its size is the current size of this output
 * stream and its output has been copied to it.
 *
 * @return  the current contents of this output stream, as a byte string.
 */
public synchronized ByteString toByteString() {
 flushLastBuffer();
 return ByteString.copyFrom(flushedBuffers);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.12

/**
 * Creates a byte string. Its size is the current size of this output
 * stream and its output has been copied to it.
 *
 * @return  the current contents of this output stream, as a byte string.
 */
public synchronized ByteString toByteString() {
 flushLastBuffer();
 return ByteString.copyFrom(flushedBuffers);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.11

/** Read a {@code bytes} field value from the stream. */
public ByteString readBytes() throws IOException {
 final int size = readRawVarint32();
 if (size == 0) {
  return ByteString.EMPTY;
 } else if (size <= (bufferSize - bufferPos) && size > 0) {
  // Fast path:  We already have the bytes in a contiguous buffer, so
  //   just copy directly from it.
  final ByteString result = ByteString.copyFrom(buffer, bufferPos, size);
  bufferPos += size;
  return result;
 } else {
  // Slow path:  Build a byte array first then copy it.
  return ByteString.copyFrom(readRawBytes(size));
 }
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf

/** Read a {@code bytes} field value from the stream. */
public ByteString readBytes() throws IOException {
 final int size = readRawVarint32();
 if (size == 0) {
  return ByteString.EMPTY;
 } else if (size <= (bufferSize - bufferPos) && size > 0) {
  // Fast path:  We already have the bytes in a contiguous buffer, so
  //   just copy directly from it.
  final ByteString result = ByteString.copyFrom(buffer, bufferPos, size);
  bufferPos += size;
  return result;
 } else {
  // Slow path:  Build a byte array first then copy it.
  return ByteString.copyFrom(readRawBytes(size));
 }
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.11

public static ByteString readFrom(InputStream streamToDrain, int minChunkSize,
  int maxChunkSize) throws IOException {
 Collection<ByteString> results = new ArrayList<ByteString>();
 // copy the inbound bytes into a list of chunks; the chunk size
 // grows exponentially to support both short and long streams.
 int chunkSize = minChunkSize;
 while (true) {
  ByteString chunk = readChunk(streamToDrain, chunkSize);
  if (chunk == null) {
   break;
  }
  results.add(chunk);
  chunkSize = Math.min(chunkSize * 2, maxChunkSize);
 }
 return ByteString.copyFrom(results);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.12

public static ByteString readFrom(InputStream streamToDrain, int minChunkSize,
  int maxChunkSize) throws IOException {
 Collection<ByteString> results = new ArrayList<ByteString>();
 // copy the inbound bytes into a list of chunks; the chunk size
 // grows exponentially to support both short and long streams.
 int chunkSize = minChunkSize;
 while (true) {
  ByteString chunk = readChunk(streamToDrain, chunkSize);
  if (chunk == null) {
   break;
  }
  results.add(chunk);
  chunkSize = Math.min(chunkSize * 2, maxChunkSize);
 }
 return ByteString.copyFrom(results);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf

public static ByteString readFrom(InputStream streamToDrain, int minChunkSize,
  int maxChunkSize) throws IOException {
 Collection<ByteString> results = new ArrayList<ByteString>();
 // copy the inbound bytes into a list of chunks; the chunk size
 // grows exponentially to support both short and long streams.
 int chunkSize = minChunkSize;
 while (true) {
  ByteString chunk = readChunk(streamToDrain, chunkSize);
  if (chunk == null) {
   break;
  }
  results.add(chunk);
  chunkSize = Math.min(chunkSize * 2, maxChunkSize);
 }
 return ByteString.copyFrom(results);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.12

/** Read a {@code bytes} field value from the stream. */
public ByteString readBytes() throws IOException {
 final int size = readRawVarint32();
 if (size == 0) {
  return ByteString.EMPTY;
 } else if (size <= (bufferSize - bufferPos) && size > 0) {
  // Fast path:  We already have the bytes in a contiguous buffer, so
  //   just copy directly from it.
  final ByteString result = ByteString.copyFrom(buffer, bufferPos, size);
  bufferPos += size;
  return result;
 } else {
  // Slow path:  Build a byte array first then copy it.
  return ByteString.copyFrom(readRawBytes(size));
 }
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.12

/**
 * If the next token is a string, consume it, unescape it as a
 * {@link ByteString}, and return it.  Otherwise, throw a
 * {@link ParseException}.
 */
public ByteString consumeByteString() throws ParseException {
 List<ByteString> list = new ArrayList<ByteString>();
 consumeByteString(list);
 while (currentToken.startsWith("'") || currentToken.startsWith("\"")) {
  consumeByteString(list);
 }
 return ByteString.copyFrom(list);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf_2.11

/**
 * If the next token is a string, consume it, unescape it as a
 * {@link ByteString}, and return it.  Otherwise, throw a
 * {@link ParseException}.
 */
public ByteString consumeByteString() throws ParseException {
 List<ByteString> list = new ArrayList<ByteString>();
 consumeByteString(list);
 while (currentToken.startsWith("'") || currentToken.startsWith("\"")) {
  consumeByteString(list);
 }
 return ByteString.copyFrom(list);
}

代码示例来源:origin: com.typesafe.akka/akka-protobuf

/**
 * If the next token is a string, consume it, unescape it as a
 * {@link ByteString}, and return it.  Otherwise, throw a
 * {@link ParseException}.
 */
public ByteString consumeByteString() throws ParseException {
 List<ByteString> list = new ArrayList<ByteString>();
 consumeByteString(list);
 while (currentToken.startsWith("'") || currentToken.startsWith("\"")) {
  consumeByteString(list);
 }
 return ByteString.copyFrom(list);
}

相关文章