コード例 #1
0
        /// <summary>
        /// Create a message with test data
        /// </summary>
        public static MyMessageV2 TestInstance()
        {
            MyMessageV2 mm = new MyMessageV2();

            mm.FieldA = 1;
            mm.FieldB = 2.2;
            mm.FieldC = 3.3f;
            mm.FieldD = -4;
            mm.FieldE = new TimeSpan(3, 6, 3, 1).Ticks;
            mm.FieldF = 6;
            mm.FieldG = 7;
            mm.FieldH = -8;
            mm.FieldI = -9;
            mm.FieldJ = 10;
            mm.FieldK = 11;
            mm.FieldL = -12;
            mm.FieldM = -13;
            mm.FieldN = true;
            mm.FieldO = "test1";
            mm.FieldP = new byte[] { 0, 1, 2, 3, 4 };
            mm.FieldQ = MyMessageV2.MyEnum.ETest1;
            mm.FieldR = MyMessageV2.MyEnum.ETest3;
            mm.FieldS = new List <uint>();
            mm.FieldS.Add(20);
            mm.FieldS.Add(120);
            mm.FieldS.Add(1120);
            mm.FieldT = new List <uint>();
            mm.FieldT.Add(21);
            mm.FieldT.Add(121);
            mm.FieldT.Add(1121);
            mm.FieldU = new TheirMessage()
            {
                FieldA = 22
            };
            mm.FieldV = new List <TheirMessage>();
            mm.FieldV.Add(new TheirMessage()
            {
                FieldA = 23
            });
            mm.FieldV.Add(new TheirMessage()
            {
                FieldA = 123
            });
            mm.FieldV.Add(new TheirMessage()
            {
                FieldA = 1123
            });
            return(mm);
        }
コード例 #2
0
        public override bool Equals(object obj)
        {
            MyMessageV2 mm = this;
            MyMessageV2 mo = obj as MyMessageV2;

            Test("FieldA", mm.FieldA == mo.FieldA);
            Test("FieldB", mm.FieldB == mo.FieldB);
            Test("FieldC", mm.FieldC == mo.FieldC);
            Test("FieldD", mm.FieldD == mo.FieldD);
            Test("FieldE", mm.FieldE == mo.FieldE);
            Test("FieldF", mm.FieldF == mo.FieldF);
            Test("FieldG", mm.FieldG == mo.FieldG);
            Test("FieldH", mm.FieldH == mo.FieldH);
            Test("FieldI", mm.FieldI == mo.FieldI);
            Test("FieldJ", mm.FieldJ == mo.FieldJ);
            Test("FieldK", mm.FieldK == mo.FieldK);
            Test("FieldL", mm.FieldL == mo.FieldL);
            Test("FieldM", mm.FieldM == mo.FieldM);
            Test("FieldN", mm.FieldN == mo.FieldN);
            Test("FieldO", mm.FieldO == mo.FieldO);
            Test("FieldP.Length", mm.FieldP.Length == mo.FieldP.Length);
            for (int n = 0; n < mm.FieldP.Length; n++)
            {
                Test("FieldP[" + n + "]", mm.FieldP[n] == mo.FieldP[n]);
            }
            Test("FieldQ", mm.FieldQ == mo.FieldQ);
            Test("FieldR", mm.FieldR == mo.FieldR);
            Test("FieldS.Count", mm.FieldS.Count == mo.FieldS.Count);
            Test("FieldS 0", mm.FieldS[0] == mo.FieldS[0]);
            Test("FieldS 1", mm.FieldS[1] == mo.FieldS[1]);
            Test("FieldS 2", mm.FieldS[2] == mo.FieldS[2]);
            Test("FieldT.Count", mm.FieldT.Count == mo.FieldT.Count);
            Test("FieldT 0", mm.FieldT[0] == mo.FieldT[0]);
            Test("FieldT 1", mm.FieldT[1] == mo.FieldT[1]);
            Test("FieldT 2", mm.FieldT[2] == mo.FieldT[2]);
            Test("FieldU", mm.FieldU.FieldA == mo.FieldU.FieldA);
            Test("FieldV.Count", mm.FieldV.Count == mo.FieldV.Count);
            Test("FieldV 0", mm.FieldV[0].FieldA == mo.FieldV[0].FieldA);
            Test("FieldV 1", mm.FieldV[1].FieldA == mo.FieldV[1].FieldA);
            Test("FieldV 2", mm.FieldV[2].FieldA == mo.FieldV[2].FieldA);
            return(true);
        }
コード例 #3
0
 /// <summary>
 /// Create a message with test data
 /// </summary>
 public static MyMessageV2 TestInstance()
 {
     MyMessageV2 mm = new MyMessageV2();
     mm.FieldA = 1;
     mm.FieldB = 2.2;
     mm.FieldC = 3.3f;
     mm.FieldD = -4;
     mm.FieldE = new TimeSpan(3, 6, 3, 1).Ticks;
     mm.FieldF = 6;
     mm.FieldG = 7;
     mm.FieldH = -8;
     mm.FieldI = -9;
     mm.FieldJ = 10;
     mm.FieldK = 11;
     mm.FieldL = -12;
     mm.FieldM = -13;
     mm.FieldN = true;
     mm.FieldO = "test1";
     mm.FieldP = new byte[] { 0, 1, 2, 3, 4 };
     mm.FieldQ = MyMessageV2.MyEnum.ETest1;
     mm.FieldR = MyMessageV2.MyEnum.ETest3;
     mm.FieldS = new List<uint>();
     mm.FieldS.Add(20);
     mm.FieldS.Add(120);
     mm.FieldS.Add(1120);
     mm.FieldT = new List<uint>();
     mm.FieldT.Add(21);
     mm.FieldT.Add(121);
     mm.FieldT.Add(1121);
     mm.FieldU = new TheirMessage() { FieldA = 22 };
     mm.FieldV = new List<TheirMessage>();
     mm.FieldV.Add(new TheirMessage() { FieldA = 23 });
     mm.FieldV.Add(new TheirMessage() { FieldA = 123 });
     mm.FieldV.Add(new TheirMessage() { FieldA = 1123 });
     return mm;
 }
コード例 #4
0
 /// <summary>Helper: Serialize with a varint length prefix</summary>
 public static void SerializeLengthDelimited(Stream stream, MyMessageV2 instance)
 {
     var data = SerializeToBytes(instance);
     global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, (uint)data.Length);
     stream.Write(data, 0, data.Length);
 }
コード例 #5
0
 /// <summary>Helper: Serialize into a MemoryStream and return its byte array</summary>
 public static byte[] SerializeToBytes(MyMessageV2 instance)
 {
     using (var ms = new MemoryStream())
     {
         Serialize(ms, instance);
         return ms.ToArray();
     }
 }
コード例 #6
0
        /// <summary>Serialize the instance into the stream</summary>
        public static void Serialize(Stream stream, MyMessageV2 instance)
        {
            var bw = new BinaryWriter(stream);
            var msField = global::SilentOrbit.ProtocolBuffers.ProtocolParser.Stack.Pop();
            // Key for field: 1, Varint
            stream.WriteByte(8);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.FieldA);
            // Key for field: 2, Fixed64
            stream.WriteByte(17);
            bw.Write(instance.FieldB);
            // Key for field: 3, Fixed32
            stream.WriteByte(29);
            bw.Write(instance.FieldC);
            // Key for field: 4, Varint
            stream.WriteByte(32);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.FieldD);
            // Key for field: 5, Varint
            stream.WriteByte(40);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.FieldE);
            // Key for field: 6, Varint
            stream.WriteByte(48);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, instance.FieldF);
            // Key for field: 7, Varint
            stream.WriteByte(56);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream, instance.FieldG);
            // Key for field: 8, Varint
            stream.WriteByte(64);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteZInt32(stream, instance.FieldH);
            // Key for field: 9, Varint
            stream.WriteByte(72);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteZInt64(stream, instance.FieldI);
            // Key for field: 10, Fixed32
            stream.WriteByte(85);
            bw.Write(instance.FieldJ);
            // Key for field: 11, Fixed64
            stream.WriteByte(89);
            bw.Write(instance.FieldK);
            // Key for field: 12, Fixed32
            stream.WriteByte(101);
            bw.Write(instance.FieldL);
            // Key for field: 13, Fixed64
            stream.WriteByte(105);
            bw.Write(instance.FieldM);
            // Key for field: 14, Varint
            stream.WriteByte(112);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteBool(stream, instance.FieldN);
            if (instance.FieldO == null)
                throw new global::SilentOrbit.ProtocolBuffers.ProtocolBufferException("FieldO is required by the proto specification.");
            // Key for field: 15, LengthDelimited
            stream.WriteByte(122);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteBytes(stream, Encoding.UTF8.GetBytes(instance.FieldO));
            if (instance.FieldP == null)
                throw new global::SilentOrbit.ProtocolBuffers.ProtocolBufferException("FieldP is required by the proto specification.");
            // Key for field: 16, LengthDelimited
            stream.WriteByte(130);
            stream.WriteByte(1);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteBytes(stream, instance.FieldP);
            // Key for field: 17, Varint
            stream.WriteByte(136);
            stream.WriteByte(1);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.FieldQ);
            if (instance.FieldR != null)
            {
                // Key for field: 18, Varint
                stream.WriteByte(144);
                stream.WriteByte(1);
                global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.FieldR.Value);
            }
#pragma warning disable 612
            if (instance.Dummy != null)
            {
                // Key for field: 19, LengthDelimited
                stream.WriteByte(154);
                stream.WriteByte(1);
                global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteBytes(stream, Encoding.UTF8.GetBytes(instance.Dummy));
            }
#pragma warning restore 612
            if (instance.FieldT != null)
            {
                // Key for field: 20, LengthDelimited
                stream.WriteByte(162);
                stream.WriteByte(1);
                global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, 4u * (uint)instance.FieldT.Count);
                foreach (var i20 in instance.FieldT)
                {
                    bw.Write(i20);
                }
            }
            if (instance.FieldS != null)
            {
                foreach (var i21 in instance.FieldS)
                {
                    // Key for field: 21, Varint
                    stream.WriteByte(168);
                    stream.WriteByte(1);
                    global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, i21);
                }
            }
            if (instance.FieldU != null)
            {
                // Key for field: 22, LengthDelimited
                stream.WriteByte(178);
                stream.WriteByte(1);
                msField.SetLength(0);
                Theirs.Nullables.TheirMessage.Serialize(msField, instance.FieldU);
                // Length delimited byte array
                uint length22 = (uint)msField.Length;
                global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, length22);
                msField.WriteTo(stream);

            }
            if (instance.FieldV != null)
            {
                foreach (var i23 in instance.FieldV)
                {
                    // Key for field: 23, LengthDelimited
                    stream.WriteByte(186);
                    stream.WriteByte(1);
                    msField.SetLength(0);
                    Theirs.Nullables.TheirMessage.Serialize(msField, i23);
                    // Length delimited byte array
                    uint length23 = (uint)msField.Length;
                    global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, length23);
                    msField.WriteTo(stream);

                }
            }
            if (instance.NullableInt != null)
            {
                // Key for field: 24, Varint
                stream.WriteByte(192);
                stream.WriteByte(1);
                global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.NullableInt.Value);
            }
            if (instance.NullableEnum != null)
            {
                // Key for field: 25, Varint
                stream.WriteByte(200);
                stream.WriteByte(1);
                global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.NullableEnum.Value);
            }
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.Stack.Push(msField);
        }
コード例 #7
0
 /// <summary>Helper: put the buffer into a MemoryStream and create a new instance to deserializing into</summary>
 public static MyMessageV2 Deserialize(byte[] buffer)
 {
     var instance = new MyMessageV2();
     using (var ms = new MemoryStream(buffer))
         Deserialize(ms, instance);
     return instance;
 }
コード例 #8
0
 /// <summary>Helper: create a new instance to deserializing into</summary>
 public static MyMessageV2 DeserializeLength(Stream stream, int length)
 {
     var instance = new MyMessageV2();
     DeserializeLength(stream, length, instance);
     return instance;
 }
コード例 #9
0
 /// <summary>Helper: create a new instance to deserializing into</summary>
 public static MyMessageV2 DeserializeLengthDelimited(Stream stream)
 {
     var instance = new MyMessageV2();
     DeserializeLengthDelimited(stream, instance);
     return instance;
 }
コード例 #10
0
 /// <summary>Helper: create a new instance to deserializing into</summary>
 public static MyMessageV2 Deserialize(Stream stream)
 {
     var instance = new MyMessageV2();
     Deserialize(stream, instance);
     return instance;
 }