public static SCPStatementPledges Decode(XdrDataInputStream stream) { var decodedSCPStatementPledges = new SCPStatementPledges(); var 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); }
public static void Encode(IByteWriter stream, SCPStatementType value) { XdrEncoding.EncodeInt32((int)value.InnerValue, stream); }