public static TcpMsgHandshake BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } TcpMsgHandshake m = new TcpMsgHandshake(); //!!!!!!!!!!!!!! change return type m.NodeListeningPort = decoder.GetInt(); m.NodeUID = decoder.GetLong(); return(m); }
public static VoteOfCandidate BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } VoteOfCandidate m = new VoteOfCandidate(); //!!!!!!!!!!!!!! change return type m.TermId = decoder.GetULong(); m.VoteType = (eVoteType)decoder.GetInt(); return(m); }
public static StateLogEntryRedirectRequest BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { decoder = new Biser.Decoder(extDecoder); if (decoder.IsNull) { return(null); } } StateLogEntryRedirectRequest m = new StateLogEntryRedirectRequest(); //!!!!!!!!!!!!!! change return type m.Data = decoder.GetByteArray(); return(m); }
public static LeaderHeartbeat BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { decoder = new Biser.Decoder(extDecoder); if (decoder.IsNull) { return(null); } } LeaderHeartbeat m = new LeaderHeartbeat(); //!!!!!!!!!!!!!! change return type m.LeaderTerm = decoder.GetULong(); m.StateLogLatestTerm = decoder.GetULong(); m.StateLogLatestIndex = decoder.GetULong(); m.LastStateLogCommittedIndex = decoder.GetULong(); m.LastStateLogCommittedIndexTerm = decoder.GetULong(); return(m); }
public static StateLogEntryApplied BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } StateLogEntryApplied m = new StateLogEntryApplied(); //!!!!!!!!!!!!!! change return type m.StateLogEntryId = decoder.GetULong(); m.StateLogEntryTerm = decoder.GetULong(); return(m); }
public static StateLogEntrySuggestion BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } StateLogEntrySuggestion m = new StateLogEntrySuggestion(); //!!!!!!!!!!!!!! change return type m.LeaderTerm = decoder.GetULong(); m.StateLogEntry = StateLogEntry.BiserDecode(extDecoder: decoder); m.IsCommitted = decoder.GetBool(); return(m); }
public static TcpMsgRaft BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } TcpMsgRaft m = new TcpMsgRaft(); //!!!!!!!!!!!!!! change return type m.RaftSignalType = (eRaftSignalType)decoder.GetInt(); m.Data = decoder.GetByteArray(); m.EntityName = decoder.GetString(); return(m); }
public static TcpClusterEndPoint BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } TcpClusterEndPoint m = new TcpClusterEndPoint(); //!!!!!!!!!!!!!! change return type m.Host = decoder.GetString(); m.Port = decoder.GetInt(); return(m); }
public static CandidateRequest BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { decoder = new Biser.Decoder(extDecoder); if (decoder.IsNull) { return(null); } } CandidateRequest m = new CandidateRequest(); //!!!!!!!!!!!!!! change return type m.TermId = decoder.GetULong(); m.LastLogId = decoder.GetULong(); m.LastTermId = decoder.GetULong(); return(m); }
public static StateLogEntry BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { decoder = new Biser.Decoder(extDecoder); if (decoder.IsNull) { return(null); } } StateLogEntry m = new StateLogEntry(); //!!!!!!!!!!!!!! change return type m.Term = decoder.GetULong(); m.Index = decoder.GetULong(); m.Data = decoder.GetByteArray(); m.IsCommitted = decoder.GetBool(); m.PreviousStateLogId = decoder.GetULong(); m.PreviousStateLogTerm = decoder.GetULong(); return(m); }
public static HttpCapsule BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } HttpCapsule m = new HttpCapsule(); m.Action = decoder.GetString(); m.EntityType = decoder.GetString(); m.IsOk = decoder.GetBool(); m.Body = decoder.GetByteArray(); return(m); }
public static TcpMsg BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { decoder = new Biser.Decoder(extDecoder); if (decoder.IsNull) { return(null); } } TcpMsg m = new TcpMsg(); //!!!!!!!!!!!!!! change return type m.MsgType = decoder.GetString(); m.Data = decoder.GetByteArray(); m.DataString = decoder.GetString(); return(m); }
public static TS7 BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } TS7 m = new TS7(); m.VoteType = (eVoteType)decoder.GetShort(); m.Barabaka = decoder.GetInt(); return(m); }
public static StateLogEntryRedirectResponse BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { //decoder = new Biser.Decoder(extDecoder); if (decoder.CheckNull()) { return(null); } } StateLogEntryRedirectResponse m = new StateLogEntryRedirectResponse(); //!!!!!!!!!!!!!! change return type m.ResponseType = (eResponseType)decoder.GetInt(); //m.RedirectId = decoder.GetULong(); return(m); }
internal List <TcpClusterEndPoint> clusterEndPoints = new List <TcpClusterEndPoint>(); //init clusterEndPoints creating 1-N connection public TcpRaftNode(List <TcpClusterEndPoint> clusterEndPoints, List <RaftNodeSettings> raftNodes, string dbreezePath, Func <string, ulong, byte[], bool> OnCommit, int port = 4250, IWarningLog log = null) { //this.rn_settings = rn_settings ?? new RaftNodeSettings(); this.log = log; this.port = port; if (clusterEndPoints != null) { var bt = clusterEndPoints.SerializeBiser(); var decoder = new Biser.Decoder(bt); this.clusterEndPoints = new List <TcpClusterEndPoint>(); decoder.GetCollection(() => { return(TcpClusterEndPoint.BiserDecode(extDecoder: decoder)); }, this.clusterEndPoints, false); //this.clusterEndPoints.AddRange(clusterEndPoints.SerializeProtobuf().DeserializeProtobuf<List<TcpClusterEndPoint>>()); } spider = new TcpSpider(this); bool firstNode = true; foreach (var rn_settings in raftNodes) { if (firstNode) { rn_settings.EntityName = "default"; firstNode = false; } if (String.IsNullOrEmpty(rn_settings.EntityName)) { throw new Exception("Raft.Net: entities must have unique names. Change RaftNodeSettings.EntityName."); } if (this.raftNodes.ContainsKey(rn_settings.EntityName)) { throw new Exception("Raft.Net: entities must have unique names. Change RaftNodeSettings.EntityName."); } var rn = new RaftNode(rn_settings ?? new RaftNodeSettings(), dbreezePath, this.spider, this.log, OnCommit); #if DEBUG rn.Verbose = rn_settings.VerboseRaft; //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEBUG PURPOSES #endif rn.SetNodesQuantityInTheCluster((uint)this.clusterEndPoints.Count); //!!!!!!!!!!!! ENABLE 1 for debug, make it dynamic (but not less then 3 if not DEBUG) rn.NodeAddress.NodeAddressId = port; //for debug/emulation purposes rn.NodeAddress.NodeUId = Guid.NewGuid().ToByteArray().Substring(8, 8).To_Int64_BigEndian(); this.raftNodes[rn_settings.EntityName] = rn; rn.NodeStart(); } }
public static TS2 BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } //decoder = new Biser.Decoder(extDecoder); //if (decoder.IsNull) // return null; } TS2 m = new TS2(); //!!!!!!!!!!!!!! change return type m.P1 = decoder.GetLong(); m.P2 = decoder.GetDouble(); m.P3 = decoder.CheckNull() ? null : new List <TS3>(); if (m.P3 != null) { decoder.GetCollection(() => { return(TS3.BiserDecode(null, decoder)); }, m.P3, true); } m.P4 = TS3.BiserDecode(null, decoder); m.P5 = decoder.GetUInt_NULL(); return(m); }
public static ExchangeData BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } ExchangeData m = new ExchangeData(); m.LastServerSyncTimeStamp = decoder.GetLong(); m.SyncOperations = decoder.CheckNull() ? null : new System.Collections.Generic.List <SyncOperation>(); if (m.SyncOperations != null) { decoder.GetCollection(() => { var pvar1 = SyncOperation.BiserDecode(null, decoder); return(pvar1); }, m.SyncOperations, true); } m.RepeatSynchro = decoder.GetBool(); m.NewServerSyncTimeStamp = decoder.GetLong(); return(m); }
public static TS3 BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } //decoder = new Biser.Decoder(extDecoder); //if (decoder.IsNull) // return null; } TS3 m = new TS3(); //!!!!!!!!!!!!!! change return type m.P1 = decoder.GetString(); m.P2 = decoder.GetInt_NULL(); m.P3 = decoder.GetDateTime(); return(m); }//eof
public static SyncOperation BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } } SyncOperation m = new SyncOperation(); m.SyncTimestamp = decoder.GetLong(); m.SerializedObject = decoder.GetByteArray(); m.Operation = (eOperation)decoder.GetInt(); m.Type = decoder.GetString(); m.InternalId = decoder.GetLong(); m.ExternalId = decoder.GetLong(); return(m); }
public static TS1 BiserDecode(byte[] enc = null, Biser.Decoder extDecoder = null) //!!!!!!!!!!!!!! change return type { Biser.Decoder decoder = null; if (extDecoder == null) { if (enc == null || enc.Length == 0) { return(null); } decoder = new Biser.Decoder(enc); if (decoder.CheckNull()) { return(null); } } else { if (extDecoder.CheckNull()) { return(null); } else { decoder = extDecoder; } //decoder = new Biser.Decoder(extDecoder); //if (decoder.IsNull) // return null; } TS1 m = new TS1(); //!!!!!!!!!!!!!! change return type m.P1 = decoder.GetInt(); m.P2 = decoder.GetInt(); m.P3 = decoder.GetDecimal(); m.P4 = decoder.CheckNull() ? null : new List <TS2>(); if (m.P4 != null) { decoder.GetCollection(() => { return(TS2.BiserDecode(null, decoder)); }, m.P4, true); } m.P5 = decoder.CheckNull() ? null : new Dictionary <long, TS3>(); if (m.P5 != null) { decoder.GetCollection(() => { return(decoder.GetLong()); }, () => { return(TS3.BiserDecode(null, decoder)); }, m.P5, true); } m.P6 = decoder.CheckNull() ? null : new Dictionary <uint, List <TS3> >(); if (m.P6 != null) { decoder.GetCollection( () => { return(decoder.GetUInt()); }, () => { var iList = decoder.CheckNull() ? null : new List <TS3>(); if (iList != null) { decoder.GetCollection(() => { return(TS3.BiserDecode(extDecoder: decoder)); }, iList, true); } return(iList); }, m.P6, true); } m.P7 = TS2.BiserDecode(extDecoder: decoder); m.P8 = decoder.CheckNull() ? null : new List <Tuple <string, byte[], TS3> >(); if (m.P8 != null) { decoder.GetCollection (() => { return(new Tuple <string, byte[], TS3> (decoder.GetString(), decoder.GetByteArray(), TS3.BiserDecode(null, decoder))); }, m.P8, true); } m.P9 = new Tuple <float, TS2, TS3, decimal?> (decoder.GetFloat(), TS2.BiserDecode(null, decoder), TS3.BiserDecode(null, decoder), decoder.GetDecimal_NULL()); return(m); }