public void Read(BinaryReader br)
        {
            this.PartitionSelector = PartitionSelector.Read(br);

            this.RestartPartitionMode = (RestartPartitionMode)br.ReadInt32();
            this.PartitionId          = new Guid(br.ReadBytes(16));

            this.NodeName          = br.ReadString();
            this.HasPersistedState = br.ReadBoolean();

            int unreliableTransportCount = br.ReadInt32();

            this.UnreliableTransportInfo = new List <Tuple <string, string> >();
            for (int i = 0; i < unreliableTransportCount; i++)
            {
                string k = br.ReadString();
                string v = br.ReadString();
                this.UnreliableTransportInfo.Add(new Tuple <string, string>(k, v));
            }
        }
        public void Read(BinaryReader br)
        {
            this.PartitionSelector = PartitionSelector.Read(br);

            this.DataLossMode   = (DataLossMode)br.ReadInt32();
            this.DataLossNumber = br.ReadInt64();

            this.NodeName    = br.ReadString();
            this.PartitionId = new Guid(br.ReadBytes(16));

            int unreliableTransportInfoCount = br.ReadInt32();

            this.UnreliableTransportInfo = new List <Tuple <string, string> >();
            for (int i = 0; i < unreliableTransportInfoCount; i++)
            {
                string k = br.ReadString();
                string v = br.ReadString();
                this.UnreliableTransportInfo.Add(new Tuple <string, string>(k, v));
            }

            this.TargetReplicaSetSize = br.ReadInt32();
        }
        public void Read(BinaryReader br)
        {
            this.PartitionSelector = PartitionSelector.Read(br);

            this.QuorumLossMode     = (QuorumLossMode)br.ReadInt32();
            this.QuorumLossDuration = TimeSpan.FromSeconds(br.ReadDouble());

            this.PartitionId = new Guid(br.ReadBytes(16));

            int nodesAppliedCount = br.ReadInt32();

            this.NodesApplied = new List <string>();
            for (int i = 0; i < nodesAppliedCount; i++)
            {
                string n = br.ReadString();
                this.NodesApplied.Add(n);
            }

            int replicaIdCount = br.ReadInt32();

            this.ReplicaIds = new List <long>();
            for (int i = 0; i < replicaIdCount; i++)
            {
                long r = br.ReadInt64();
                this.ReplicaIds.Add(r);
            }

            int unreliableTransportCount = br.ReadInt32();

            this.UnreliableTransportInfo = new List <Tuple <string, string> >();
            for (int i = 0; i < unreliableTransportCount; i++)
            {
                string k = br.ReadString();
                string v = br.ReadString();
                this.UnreliableTransportInfo.Add(new Tuple <string, string>(k, v));
            }
        }