Now it even runs
This commit is contained in:
parent
873c069d09
commit
267a99d6b9
|
@ -1,4 +1,4 @@
|
|||
use crate::TallyState;
|
||||
use crate::{TallyState,Channel};
|
||||
use std::sync::mpsc;
|
||||
use std::sync::mpsc::{Sender, Receiver};
|
||||
use std::thread;
|
||||
|
@ -27,8 +27,8 @@ impl FakeAdaptor {
|
|||
println!("Hello, I have {} channels", numchannels);
|
||||
loop {
|
||||
let state = TallyState{
|
||||
on_air: Some(rand::thread_rng().gen_range(0, numchannels)),
|
||||
preview: Some(rand::thread_rng().gen_range(0, numchannels)),
|
||||
on_air: Channel(Some(rand::thread_rng().gen_range(0, numchannels))),
|
||||
preview: Channel(Some(rand::thread_rng().gen_range(0, numchannels))),
|
||||
};
|
||||
sender.send(state).unwrap();
|
||||
thread::sleep(Duration::new(rand::thread_rng().gen_range(0,5), 0));
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
use std::sync::mpsc;
|
||||
use std::sync::mpsc::Receiver;
|
||||
mod adaptors;
|
||||
use crate::adaptors::{Adaptor,FakeAdaptor};
|
||||
use std::fmt;
|
||||
|
||||
type Channel = Option<u8>;
|
||||
#[derive(Clone)]
|
||||
pub struct Channel(Option<u8>);
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct TallyState {
|
||||
|
@ -14,7 +13,7 @@ pub struct TallyState {
|
|||
|
||||
impl fmt::Display for Channel {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
match self {
|
||||
match self.0 {
|
||||
Some(n) => write!(f, "{}", n),
|
||||
None => write!(f, "-"),
|
||||
}
|
||||
|
@ -33,8 +32,8 @@ struct Server<T:Adaptor> {
|
|||
|
||||
impl<T:Adaptor> Server<T> {
|
||||
fn run(&mut self) {
|
||||
loop{
|
||||
let rx = self.adaptor.run();
|
||||
loop{
|
||||
let newstate = rx.recv().unwrap();
|
||||
println!("{}", newstate);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue