Example #1
0
 public void BiserJsonEncode(Biser.JsonEncoder encoder)
 {
     encoder.Add("P1", this.P1);
     encoder.Add("P2", this.P2);
     encoder.Add("P3", this.P3, (r) => { encoder.Add(r); });
     encoder.Add("P4", this.P4);
     encoder.Add("P5", this.P5);
 }
Example #2
0
 public void BiserJsonEncode(Biser.JsonEncoder encoder)
 {
     encoder.Add("Term", this.Term);
     encoder.Add("Index", this.Index);
     encoder.Add("Data", this.Data);
     encoder.Add("IsCommitted", this.IsCommitted);
     encoder.Add("PreviousStateLogId", this.PreviousStateLogId);
     encoder.Add("PreviousStateLogTerm", this.PreviousStateLogTerm);
     encoder.Add("RedirectId", this.RedirectId);
 }
Example #3
0
 public void BiserJsonEncode(Biser.JsonEncoder encoder)
 {
     encoder.Add("EntityName", this.EntityName);
     //encoder.Add("LeaderHeartbeatMs", this.LeaderHeartbeatMs);
     encoder.Add("DelayedPersistenceMs", this.DelayedPersistenceMs);
     //encoder.Add("NoLeaderAddCommandResendIntervalMs", this.NoLeaderAddCommandResendIntervalMs);
     encoder.Add("DelayedPersistenceIsActive", this.DelayedPersistenceIsActive);
     encoder.Add("InMemoryEntity", this.InMemoryEntity);
     encoder.Add("InMemoryEntityStartSyncFromLatestEntity", this.InMemoryEntityStartSyncFromLatestEntity);
     //encoder.Add("ElectionTimeoutMinMs", this.ElectionTimeoutMinMs);
     //encoder.Add("ElectionTimeoutMaxMs", this.ElectionTimeoutMaxMs);
     //encoder.Add("LeaderLogResendIntervalMs", this.LeaderLogResendIntervalMs);
     //encoder.Add("RaftNodeIdExternalForEmulator", this.RaftNodeIdExternalForEmulator);
     //encoder.Add("InitialQuantityOfRaftNodesInTheCluster", this.InitialQuantityOfRaftNodesInTheCluster);
     encoder.Add("VerboseRaft", this.VerboseRaft);
     encoder.Add("VerboseTransport", this.VerboseTransport);
 }
Example #4
0
 public void BiserJsonEncode(Biser.JsonEncoder encoder)
 {
     encoder.Add("Host", this.Host);
     encoder.Add("Port", this.Port);
 }
Example #5
0
 public void BiserJsonEncode(Biser.JsonEncoder encoder)
 {
     encoder.Add("LeaderTerm", this.LeaderTerm);
     encoder.Add("StateLogEntry", StateLogEntry);
     encoder.Add("IsCommitted", this.IsCommitted);
 }
Example #6
0
 public void BiserJsonEncode(Biser.JsonEncoder encoder)
 {
     encoder.Add("RaftEntitiesSettings", RaftEntitiesSettings, (r) => { encoder.Add(r); });
     encoder.Add("TcpClusterEndPoints", TcpClusterEndPoints, (r) => { encoder.Add(r); });
 }
Example #7
0
        }//eof

        public void BiserJsonEncode(Biser.JsonEncoder encoder)
        {
            encoder.Add("P1", this.P1);
            encoder.Add("P3", this.P3);
            encoder.Add("P2", this.P2);
        }
Example #8
0
 public void BiserJsonEncode(Biser.JsonEncoder encoder)
 {
     encoder.Add("VoteType", (System.Int16)VoteType);
     encoder.Add("Barabaka", Barabaka);
 }
Example #9
0
        public void BiserJsonEncode(Biser.JsonEncoder encoder)
        {
            encoder.Add("P1", this.P1);
            encoder.Add("P2", this.P2);
            encoder.Add("P3", this.P3);
            encoder.Add("P4", this.P4, (r) => { encoder.Add(r); });
            encoder.Add("P5", this.P5, (r) => { encoder.Add(r); });
            encoder.Add("P6", this.P6, (r) => { encoder.Add(r, (r1) => { encoder.Add(r1); }); });
            encoder.Add("P7", this.P7);

            ////Storing as List
            //if (this.P8 != null)
            //    encoder.Add("P8", this.P8, (r) =>
            //    {
            //        encoder.Add(new List<Action>() {
            //        { ()=>encoder.Add(r.Item1)},
            //        { ()=>encoder.Add(r.Item2)},
            //        { ()=>encoder.Add(r.Item3)},
            //    });
            //    });
            ////Storing as Dictionary
            /// if (this.P8 != null)
            encoder.Add("P8", this.P8, (r) =>
            {
                encoder.Add(new Dictionary <string, Action>()
                {
                    { "Item1", () => encoder.Add(r.Item1) },
                    { "Item2", () => encoder.Add(r.Item2) },
                    { "Item3", () => encoder.Add(r.Item3) },
                });
            });

            ////Storing as List
            //if (this.P9 != null)
            //    encoder.Add("P9", new List<Action>() { //Array of heterogenous types
            //        { ()=>encoder.Add(this.P9.Item1)},
            //        { ()=>encoder.Add(this.P9.Item2)},
            //        { ()=>encoder.Add(this.P9.Item3)},
            //        { ()=>encoder.Add(this.P9.Item4)},
            //    });
            ////Storing as Dictionary
            if (this.P9 != null)
            {
                encoder.Add("P9", new Dictionary <string, Action>() //Array of heterogenous types
                {
                    { "Item1", () => encoder.Add(this.P9.Item1) },
                    { "Item2", () => encoder.Add(this.P9.Item2) },
                    { "Item3", () => encoder.Add(this.P9.Item3) },
                    { "Item4", () => encoder.Add(this.P9.Item4) },
                });
            }

            if (this.P11 != null)
            {
                encoder.Add("P11", P11, (r) => { encoder.Add(r); });
            }

            encoder.Add("P12", this.P12);

            encoder.Add("P13", this.P13, (r) => { encoder.Add(r); });

            encoder.Add("P15", this.P15, (r) => { encoder.Add(r, (r1) => { encoder.Add(r1); }); });

            encoder.Add("P16", this.P16, (r) => { encoder.Add(r, (r1) => { encoder.Add(r1); }); });

            encoder.Add("P17", this.P17);

            encoder.Add("P18", this.P18, (r) => { encoder.Add(r); });


            ////Storing as List
            //if (this.P19 != null)
            //    encoder.Add("P19", new List<Action>() { //Array of heterogenous types
            //        { ()=>encoder.Add(this.P19.Item1)},
            //        { ()=>encoder.Add(this.P19.Item2)},
            //    });

            ////Storing as Dictionary with Item1, item2 etc
            if (this.P19 != null)
            {
                encoder.Add("P19", new Dictionary <string, Action>()  //Array of heterogenous types
                {
                    { "Item1", () => encoder.Add(this.P19.Item1) },
                    { "Item2", () => encoder.Add(this.P19.Item2) },
                });
            }
        }
Example #10
0
        static void t1()
        {
            /*
             * Start
             *  Protobuf obj length: 22
             *  Biser Binary obj length: 17
             *  NetJson obj length: 129
             *  Biser Json obj length: 129
             *
             *  Protobuf encode: 1184 ms
             *  Protobuf decode: 1569 ms
             *  Biser Binary encode: 396 ms
             *  Biser Binary decode: 209 ms
             *  NetJson encode: 1350 ms
             *  NetJson decode: 1902 ms
             *  Biser Json encode: 2266 ms
             *  Biser Json decode: 3659 ms
             * Press any key
             */

            System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();

            // It's an operational class from https://github.com/hhblaze/Raft.Net/blob/master/Raft/StateMachine/StateLogEntry.cs
            StateLogEntry obj = new StateLogEntry()
            {
                Data                 = new byte[] { 1, 2, 3, 4, 5 },
                Index                = 458,
                IsCommitted          = true,
                PreviousStateLogId   = 4789,
                PreviousStateLogTerm = 447,
                RedirectId           = 12,
                Term                 = 99
            };

            Console.WriteLine("t1----------------------------------");

            //Protobuf. Warming up, getting length
            var pBt = obj.SerializeProtobuf();

            Console.WriteLine($"Protobuf obj length: {pBt.Length}");
            var pObj = pBt.DeserializeProtobuf <StateLogEntry>();

            //Biser. Getting length
            var bBt = new Biser.Encoder().Add(obj).Encode();

            Console.WriteLine($"Biser Binary obj length: {bBt.Length}");
            var bObj = StateLogEntry.BiserDecode(bBt);

            //NetJson. Getting length
            var njss = NetJSON.NetJSON.Serialize(obj);

            Console.WriteLine($"NetJson obj length: {System.Text.Encoding.UTF8.GetBytes(njss).Length}");
            var bnjss = NetJSON.NetJSON.Deserialize <StateLogEntry>(njss);

            //Biser Json. Getting length
            var bjss = new Biser.JsonEncoder(obj).GetJSON();

            Console.WriteLine($"Biser Json obj length: {System.Text.Encoding.UTF8.GetBytes(bjss).Length}");
            var bbjss = StateLogEntry.BiserJsonDecode(bjss);

            //Message Pack
            var mBt = MessagePackSerializer.Serialize(obj);

            Console.WriteLine($"Message Pack obj length: {mBt.Length}");
            var mc2 = MessagePackSerializer.Deserialize <StateLogEntry>(mBt);

            Console.WriteLine("");

            byte[]        tbt  = null;
            StateLogEntry tobj = null;

            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                tbt = obj.SerializeProtobuf();
            }
            sw.Stop();
            Console.WriteLine($"Protobuf encode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();

            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                tobj = pBt.DeserializeProtobuf <StateLogEntry>();
            }
            sw.Stop();
            Console.WriteLine($"Protobuf decode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();

            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                tbt = new Biser.Encoder().Add(obj).Encode();
            }
            sw.Stop();
            Console.WriteLine($"Biser Binary encode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();

            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                tobj = StateLogEntry.BiserDecode(bBt);
            }
            sw.Stop();
            Console.WriteLine($"Biser Binary decode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();

            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                njss = NetJSON.NetJSON.Serialize(obj);
            }
            sw.Stop();
            Console.WriteLine($"NetJson encode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();

            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                bnjss = NetJSON.NetJSON.Deserialize <StateLogEntry>(njss);
            }
            sw.Stop();
            Console.WriteLine($"NetJson decode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();


            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                bjss = new Biser.JsonEncoder(obj).GetJSON();
            }
            sw.Stop();
            Console.WriteLine($"Biser Json encode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();

            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                bbjss = StateLogEntry.BiserJsonDecode(bjss);
            }
            sw.Stop();
            Console.WriteLine($"Biser Json decode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();


            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                mBt = MessagePackSerializer.Serialize(obj);
            }
            sw.Stop();
            Console.WriteLine($"MessagePack encode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();

            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                mc2 = MessagePackSerializer.Deserialize <StateLogEntry>(mBt);
            }
            sw.Stop();
            Console.WriteLine($"MessagePack decode: {sw.ElapsedMilliseconds} ms");
            sw.Reset();
        }