/// Proposes a boolean value for Binary Agreement.
///
/// If more than two thirds of validators propose the same value, that will eventually be
/// output. Otherwise either output is possible.
///
/// Note that if `can_propose` returns `false`, it is already too late to affect the outcome.
Proposes a boolean value for Binary Agreement.
If more than two thirds of validators propose the same value, that will eventually be
output. Otherwise either output is possible.

Note that if `can_propose` returns `false`, it is already too late to affect the outcome.
Proposes a boolean value for Binary Agreement . If more than two thirds of validators propose the same value that will eventually be output . Otherwise either output is possible . Note that if ` can_propose ` returns ` false ` it is already too late to affect the outcome .
pub fn propose(&mut self, input: bool) -> Result<Step<N>> {
        if !self.can_propose() {
            return Ok(Step::default());
        }
        // Set the initial estimated value to the input value.
        self.estimated = Some(input);
        let sbvb_step = self.sbv_broadcast.send_bval(input)?;
        self.handle_sbvb_step(sbvb_step)
    }
pub fn propose ( & mut self , input : bool ) -> Result < Step < N > > { if ! self . can_propose ( ) { return Ok ( Step :: default ( ) ) ; } // Set the initial estimated value to the input value. self . estimated = Some ( input ) ; let sbvb_step = self . sbv_broadcast . send_bval ( input ) ? ; self . handle_sbvb_step ( sbvb_step ) }
Proposes a boolean value for Binary Agreement.
Proposes a boolean value for Binary Agreement .
&mut self
input
bool