public static byte[] SerializeBiser(this IEnumerable <Biser.IEncoder> objs) { var en = new Biser.Encoder(); en.Add(objs, r => { en.Add(r); }); return(en.Encode()); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(Data) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(TermId) .Add((int)VoteType) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(NodeListeningPort) .Add(NodeUID) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(Host) .Add(Port) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(StateLogEntryId) //.Add(StateLogEntryTerm) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder encoder = new Biser.Encoder(existingEncoder); encoder.Add((System.Int16)VoteType); encoder.Add(Barabaka); return(encoder); }
//public ulong RedirectId { get; set; } #region "Biser" public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add((int)ResponseType) //.Add(RedirectId) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add((int)RaftSignalType) .Add(Data) .Add(EntityName) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(LeaderTerm) .Add(StateLogEntry) .Add(IsCommitted) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(TermId) .Add(LastLogId) .Add(LastTermId) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder encoder = new Biser.Encoder(existingEncoder); encoder.Add(Action); encoder.Add(EntityType); encoder.Add(IsOk); encoder.Add(Body); return(encoder); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(LeaderTerm) .Add(StateLogLatestTerm) .Add(StateLogLatestIndex) .Add(LastStateLogCommittedIndex) .Add(LastStateLogCommittedIndexTerm) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(P1) .Add(P2) .Add(P3, (r) => { enc.Add(r); }) .Add(P4) .Add(P5) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder encoder = new Biser.Encoder(existingEncoder); encoder.Add(LastServerSyncTimeStamp); encoder.Add(SyncOperations, (r1) => { encoder.Add(r1); }); encoder.Add(RepeatSynchro); encoder.Add(NewServerSyncTimeStamp); return(encoder); }
//public ulong RedirectId = 0; #region "Biser" public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(Term) .Add(Index) .Add(Data) .Add(IsCommitted) .Add(PreviousStateLogId) .Add(PreviousStateLogTerm) ; return(enc); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder encoder = new Biser.Encoder(existingEncoder); encoder.Add(SyncTimestamp); encoder.Add(SerializedObject); encoder.Add((int)Operation); encoder.Add(Type); encoder.Add(InternalId); encoder.Add(ExternalId); return(encoder); }
public Biser.Encoder BiserEncoder(Biser.Encoder existingEncoder = null) { Biser.Encoder enc = new Biser.Encoder(existingEncoder); enc .Add(P1) .Add(P2) .Add(P3) .Add(P4, (r) => { enc.Add(r); }) .Add(P5, (r) => { enc.Add(r.Key); enc.Add(r.Value); }) .Add(P6, (r) => { enc.Add(r.Key); enc.Add(r.Value, (r1) => { enc.Add(r1); }); }) .Add(P7) .Add(P8, (r) => { enc.Add(r.Item1); enc.Add(r.Item2); enc.Add(r.Item3); }) .Add(P9.Item1).Add(P9.Item2).Add(P9.Item3).Add(P9.Item4) ; return(enc); }
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(); }