Как сохранить один байт в буфере протокола? - PullRequest
2 голосов
/ 28 марта 2019

мой класс Java ниже,

public final class TraceOptions {
private final byte options;

private TraceOptions(byte options) {
    this.options = options;
}

Какой тип в protobuffer 3 я должен поставить здесь?

message TraceOptions {
  ? traceOptions = 1;
 }

1 Ответ

0 голосов
/ 28 марта 2019

Вы просто ищете bytes?Он указан под Scalar Value Types в документации .Обычно он используется для хранения количества байтов переменной длины, поэтому не уверен в эффективности его использования для хранения одного байта.

Тип uint32 использует кодировку переменной длины, так что, вероятно, это наиболее эффективно.что вы можете сделать.

Если вы посмотрите, как целые числа кодируются , в документах здесь вы увидите, что использование int32, вероятно, является вашей лучшей ставкой.

...