Beispiel #1
0
    public void ConvertMessageSelect(string path)
    {
        List <string> lineList = this.getLineList(path);

        FlatBuffers.FlatBufferBuilder fbb = new FlatBuffers.FlatBufferBuilder(1);
        FlatBuffers.Offset <MessageSelectTable.Data>[] data = new FlatBuffers.Offset <MessageSelectTable.Data> [lineList.Count];
        int count = 0;

        foreach (string line in lineList)
        {
            string[] values = line.Split(',');
            int      id     = int.Parse(values[0]);
            FlatBuffers.StringOffset[] selectList = new FlatBuffers.StringOffset[values.Length - 1];
            for (int i = 1; i < values.Length; ++i)
            {
                string message = values[i].Replace("\\n", "\n");;
                selectList[i - 1] = fbb.CreateString(message);
            }
            data[count] = MessageSelectTable.Data.CreateData(fbb, id, MessageSelectTable.Data.CreateSelectVector(fbb, selectList));
            ++count;
        }
        FlatBuffers.VectorOffset infoVec = MessageSelectTable.DataList.CreateDatasVector(fbb, data);
        FlatBuffers.Offset <MessageSelectTable.DataList> reslut = MessageSelectTable.DataList.CreateDataList(fbb, infoVec);
        MessageSelectTable.DataList.FinishDataListBuffer(fbb, reslut);
        using (System.IO.FileStream fs = new System.IO.FileStream("message-select-table.bin", System.IO.FileMode.Create))
        {
            using (System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs))
            {
                bw.Write(fbb.SizedByteArray());
            }
        }
    }
    public void SortedVectors_NullKey_NotAllowed()
    {
        var builder = new FlatBuffers.FlatBufferBuilder(1024 * 1024);

        var strings       = new List <string>();
        var stringOffsets = new List <FlatBuffers.Offset <Oracle.SortedVectorStringTable> >();

        foreach (string s in new[] { Guid.NewGuid().ToString(), null, Guid.NewGuid().ToString() })
        {
            strings.Add(s);
            FlatBuffers.StringOffset strOffset = default;
            if (s != null)
            {
                strOffset = builder.CreateString(s);
            }

            stringOffsets.Add(Oracle.SortedVectorStringTable.CreateSortedVectorStringTable(builder, strOffset));
        }

        Assert.Throws <InvalidOperationException>(
            () => Oracle.SortedVectorStringTable.CreateSortedVectorOfSortedVectorStringTable(builder, stringOffsets.ToArray()));
    }