FlatBuffers Data Add Overlay - PullRequest
       10

FlatBuffers Data Add Overlay

0 голосов
/ 10 февраля 2020

Я создаю программу чата, используя flat buffer. Я хочу переместить четыре переменных мяча. пример) value1 = true, value2 = false, value3 = true, value = false,

Имя схемы Flatbuffers - ServerInfo.

(i = 0; i  < 3; i++)
ServerInfo.AddValue(fb, value [i]);

Я написал этот код. Всего должно быть добавлено четыре значения, но добавлено только одно.

Результат, который я хочу) true, false, true, false. Фактические результаты) true, true, true, true

Значение ServerInfo value.value для test [i] было таким же, как value [0]. Как мы можем собрать его один раз?

Определение ServerInfo.AddValue.

public static space addValue (FlatBufferBufferBufferBufferBufferBuilder) {builder.AddBool(4, Value, false); }

1 Ответ

0 голосов
/ 10 февраля 2020

Вы устанавливаете одно и то же скалярное поле 4 раза. Не уверен, на каком языке вы это делаете, но это должно привести к assert. Если вы хотите сохранить 4 значения, замените bool в вашей схеме на [bool].

Я предполагаю, что вы пришли из Protobuf и ожидаете, что каждое поле будет repeated?

...