fn read_stdin(mut tx: mpsc::Sender<Message>) {
    let mut stdin = io::stdin();
    loop {
        println!("\n\nSeleziona l'operazione\n\n");
        println!("1 - Mostra mappa dei posti disponibili\n");
        println!("2 - Effettua una prenotazione\n");
        println!("3 - Disdici una prenotazione conoscendo il codice\n");
        println!("4 - Esci dal programma\n\n");
        println!("Inserisci il numero corrispondente all'operazione scelta:  ");

        let mut guess = String::new();

        io::stdin().read_line(&mut guess)
            .expect("Failed to read line");

        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };

        //Convert option in message
        let msg = match guess {
            1 => Message::GetMap,
            2 => Message::Prenota(Prenotazione {
                codice: None,
                data: Utc.ymd(2017,6,3).and_hms(0,0,0),
                posto: Posto {
                    fila: String::from("XX"),
                    numero: 66
                }
            }),
            3 => Message::Delete(String::from("5a088128373862eb2b222aa8")),
            4 => Message::Quit,
            _ => Message::Error(String::from("Opzione non riconosciuta. Riprovare..."))
        };

        //Check for unknown command
        match msg {
            Message::Error(msg) => {
                println!("{}", msg);
                continue;
            },
            _ => {}
        }

        //Send the message to the primary thread
        tx = match tx.send(msg).wait() {
            Ok(tx) => tx,
            Err(_) => break,
        };
    }
}
// Our helper method which will read data from stdin and send it along the
// sender provided.
Our helper method which will read data from stdin and send it along the
sender provided.
Our helper method which will read data from stdin and send it along the sender provided .
fn read_stdin(mut tx: mpsc::Sender<Message>) {
    let mut stdin = io::stdin();
    loop {
        println!("\n\nSeleziona l'operazione\n\n");
        println!("1 - Mostra mappa dei posti disponibili\n");
        println!("2 - Effettua una prenotazione\n");
        println!("3 - Disdici una prenotazione conoscendo il codice\n");
        println!("4 - Esci dal programma\n\n");
        println!("Inserisci il numero corrispondente all'operazione scelta:  ");
        let mut guess = String::new();
        io::stdin().read_line(&mut guess)
            .expect("Failed to read line");
        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };
        //Convert option in message
        let msg = match guess {
            1 => Message::GetMap,
            2 => Message::Prenota(Prenotazione {
                codice: None,
                data: Utc.ymd(2017,6,3).and_hms(0,0,0),
                posto: Posto {
                    fila: String::from("XX"),
                    numero: 66
                }
            }),
            3 => Message::Delete(String::from("5a088128373862eb2b222aa8")),
            4 => Message::Quit,
            _ => Message::Error(String::from("Opzione non riconosciuta. Riprovare..."))
        };
        //Check for unknown command
        match msg {
            Message::Error(msg) => {
                println!("{}", msg);
                continue;
            },
            _ => {}
        }
        //Send the message to the primary thread
        tx = match tx.send(msg).wait() {
            Ok(tx) => tx,
            Err(_) => break,
        };
    }
}
fn read_stdin ( mut tx : mpsc :: Sender < Message > ) { let mut stdin = io :: stdin ( ) ; loop { println ! ( " \n \n \n \n " ) ; println ! ( " \n " ) ; println ! ( " \n " ) ; println ! ( " \n " ) ; println ! ( " \n \n " ) ; println ! ( " " ) ; let mut guess = String :: new ( ) ; io :: stdin ( ) . read_line ( & mut guess ) . expect ( " " ) ; let guess : u32 = match guess . trim ( ) . parse ( ) { Ok ( num ) => num , Err ( _ ) => continue , } ; //Convert option in message let msg = match guess { 1 => Message :: GetMap , 2 => Message :: Prenota ( Prenotazione { codice : None , data : Utc . ymd ( 2017 , 6 , 3 ) . and_hms ( 0 , 0 , 0 ) , posto : Posto { fila : String :: from ( " " ) , numero : 66 } } ) , 3 => Message :: Delete ( String :: from ( " " ) ) , 4 => Message :: Quit , _ => Message :: Error ( String :: from ( " " ) ) } ; //Check for unknown command match msg { Message :: Error ( msg ) => { println ! ( " " msg ) ; continue ; } , _ => { } } //Send the message to the primary thread tx = match tx . send ( msg ) . wait ( ) { Ok ( tx ) => tx , Err ( _ ) => break , } ; } }
Our helper method which will read data from stdin and send it along the
sender provided.
Our helper method which will read data from stdin and send it along the sender provided .
tx
mpsc::Sender<Message>
tx
mpsc::Sender<Message>