public static void Encode(XdrDataOutputStream stream, SCPStatementPrepare encodedSCPStatementPrepare)
 {
     Hash.Encode(stream, encodedSCPStatementPrepare.QuorumSetHash);
     SCPBallot.Encode(stream, encodedSCPStatementPrepare.Ballot);
     if (encodedSCPStatementPrepare.Prepared != null)
     {
         stream.WriteInt(1);
         SCPBallot.Encode(stream, encodedSCPStatementPrepare.Prepared);
     }
     else
     {
         stream.WriteInt(0);
     }
     if (encodedSCPStatementPrepare.PreparedPrime != null)
     {
         stream.WriteInt(1);
         SCPBallot.Encode(stream, encodedSCPStatementPrepare.PreparedPrime);
     }
     else
     {
         stream.WriteInt(0);
     }
     Uint32.Encode(stream, encodedSCPStatementPrepare.NC);
     Uint32.Encode(stream, encodedSCPStatementPrepare.NH);
 }
            public static SCPStatementPledges Decode(XdrDataInputStream stream)
            {
                SCPStatementPledges decodedSCPStatementPledges = new SCPStatementPledges();
                SCPStatementType    discriminant = SCPStatementType.Decode(stream);

                decodedSCPStatementPledges.Discriminant = discriminant;
                switch (decodedSCPStatementPledges.Discriminant.InnerValue)
                {
                case SCPStatementType.SCPStatementTypeEnum.SCP_ST_PREPARE:
                    decodedSCPStatementPledges.Prepare = SCPStatementPrepare.Decode(stream);
                    break;

                case SCPStatementType.SCPStatementTypeEnum.SCP_ST_CONFIRM:
                    decodedSCPStatementPledges.Confirm = SCPStatementConfirm.Decode(stream);
                    break;

                case SCPStatementType.SCPStatementTypeEnum.SCP_ST_EXTERNALIZE:
                    decodedSCPStatementPledges.Externalize = SCPStatementExternalize.Decode(stream);
                    break;

                case SCPStatementType.SCPStatementTypeEnum.SCP_ST_NOMINATE:
                    decodedSCPStatementPledges.Nominate = SCPNomination.Decode(stream);
                    break;
                }
                return(decodedSCPStatementPledges);
            }
Esempio n. 3
0
 public static void Encode(IByteWriter stream, SCPStatementPrepare encodedSCPStatementPrepare)
 {
     Hash.Encode(stream, encodedSCPStatementPrepare.QuorumSetHash);
     SCPBallot.Encode(stream, encodedSCPStatementPrepare.Ballot);
     if (encodedSCPStatementPrepare.Prepared != null)
     {
         XdrEncoding.EncodeInt32(1, stream);
         SCPBallot.Encode(stream, encodedSCPStatementPrepare.Prepared);
     }
     else
     {
         XdrEncoding.EncodeInt32(0, stream);
     }
     if (encodedSCPStatementPrepare.PreparedPrime != null)
     {
         XdrEncoding.EncodeInt32(1, stream);
         SCPBallot.Encode(stream, encodedSCPStatementPrepare.PreparedPrime);
     }
     else
     {
         XdrEncoding.EncodeInt32(0, stream);
     }
     Uint32.Encode(stream, encodedSCPStatementPrepare.NC);
     Uint32.Encode(stream, encodedSCPStatementPrepare.NH);
 }
            public static void Encode(XdrDataOutputStream stream, SCPStatementPledges encodedSCPStatementPledges)
            {
                stream.WriteInt((int)encodedSCPStatementPledges.Discriminant.InnerValue);
                switch (encodedSCPStatementPledges.Discriminant.InnerValue)
                {
                case SCPStatementType.SCPStatementTypeEnum.SCP_ST_PREPARE:
                    SCPStatementPrepare.Encode(stream, encodedSCPStatementPledges.Prepare);
                    break;

                case SCPStatementType.SCPStatementTypeEnum.SCP_ST_CONFIRM:
                    SCPStatementConfirm.Encode(stream, encodedSCPStatementPledges.Confirm);
                    break;

                case SCPStatementType.SCPStatementTypeEnum.SCP_ST_EXTERNALIZE:
                    SCPStatementExternalize.Encode(stream, encodedSCPStatementPledges.Externalize);
                    break;

                case SCPStatementType.SCPStatementTypeEnum.SCP_ST_NOMINATE:
                    SCPNomination.Encode(stream, encodedSCPStatementPledges.Nominate);
                    break;
                }
            }
                public static SCPStatementPrepare Decode(XdrDataInputStream stream)
                {
                    SCPStatementPrepare decodedSCPStatementPrepare = new SCPStatementPrepare();

                    decodedSCPStatementPrepare.QuorumSetHash = Hash.Decode(stream);
                    decodedSCPStatementPrepare.Ballot        = SCPBallot.Decode(stream);
                    int PreparedPresent = stream.ReadInt();

                    if (PreparedPresent != 0)
                    {
                        decodedSCPStatementPrepare.Prepared = SCPBallot.Decode(stream);
                    }
                    int PreparedPrimePresent = stream.ReadInt();

                    if (PreparedPrimePresent != 0)
                    {
                        decodedSCPStatementPrepare.PreparedPrime = SCPBallot.Decode(stream);
                    }
                    decodedSCPStatementPrepare.NC = Uint32.Decode(stream);
                    decodedSCPStatementPrepare.NH = Uint32.Decode(stream);
                    return(decodedSCPStatementPrepare);
                }
Esempio n. 6
0
                public static SCPStatementPrepare Decode(IByteReader stream)
                {
                    SCPStatementPrepare decodedSCPStatementPrepare = new SCPStatementPrepare();

                    decodedSCPStatementPrepare.QuorumSetHash = Hash.Decode(stream);
                    decodedSCPStatementPrepare.Ballot        = SCPBallot.Decode(stream);
                    int preparedPresent = XdrEncoding.DecodeInt32(stream);

                    if (preparedPresent != 0)
                    {
                        decodedSCPStatementPrepare.Prepared = SCPBallot.Decode(stream);
                    }
                    int preparedPrimePresent = XdrEncoding.DecodeInt32(stream);

                    if (preparedPrimePresent != 0)
                    {
                        decodedSCPStatementPrepare.PreparedPrime = SCPBallot.Decode(stream);
                    }
                    decodedSCPStatementPrepare.NC = Uint32.Decode(stream);
                    decodedSCPStatementPrepare.NH = Uint32.Decode(stream);
                    return(decodedSCPStatementPrepare);
                }
 public static SCPStatementPrepare Decode(IByteReader stream) {
   SCPStatementPrepare decodedSCPStatementPrepare = new SCPStatementPrepare();
   decodedSCPStatementPrepare.QuorumSetHash = Hash.Decode(stream);
   decodedSCPStatementPrepare.Ballot = SCPBallot.Decode(stream);
   int preparedPresent = XdrEncoding.DecodeInt32(stream);
   if (preparedPresent != 0) {
   decodedSCPStatementPrepare.Prepared = SCPBallot.Decode(stream);
   }
   int preparedPrimePresent = XdrEncoding.DecodeInt32(stream);
   if (preparedPrimePresent != 0) {
   decodedSCPStatementPrepare.PreparedPrime = SCPBallot.Decode(stream);
   }
   decodedSCPStatementPrepare.NC = Uint32.Decode(stream);
   decodedSCPStatementPrepare.NH = Uint32.Decode(stream);
   return decodedSCPStatementPrepare;
 }
 public static void Encode(IByteWriter stream, SCPStatementPrepare encodedSCPStatementPrepare) {
   Hash.Encode(stream, encodedSCPStatementPrepare.QuorumSetHash);
   SCPBallot.Encode(stream, encodedSCPStatementPrepare.Ballot);
   if (encodedSCPStatementPrepare.Prepared != null) {
   XdrEncoding.EncodeInt32(1, stream);
   SCPBallot.Encode(stream, encodedSCPStatementPrepare.Prepared);
   } else {
   XdrEncoding.EncodeInt32(0, stream);
   }
   if (encodedSCPStatementPrepare.PreparedPrime != null) {
   XdrEncoding.EncodeInt32(1, stream);
   SCPBallot.Encode(stream, encodedSCPStatementPrepare.PreparedPrime);
   } else {
   XdrEncoding.EncodeInt32(0, stream);
   }
   Uint32.Encode(stream, encodedSCPStatementPrepare.NC);
   Uint32.Encode(stream, encodedSCPStatementPrepare.NH);
 }