Struct xmz_server::zone::Zone [−][src]
pub struct Zone { pub messzellen: Vec<Arc<Mutex<Box<Messzelle>>>>, pub schaltpunkte: Vec<Schaltpunkt>, }
Zonen, die Bereiche die der Server überwacht
Jeder Zone können n Schaltpunkte
zugeordnet
werden. Diese Messzellen werden gegen
Fields
messzellen: Vec<Arc<Mutex<Box<Messzelle>>>>
schaltpunkte: Vec<Schaltpunkt>
Methods
impl Zone
[src]
impl Zone
pub fn new() -> Self
[src]
pub fn new() -> Self
pub fn add_messzelle(&mut self, messzelle: Arc<Mutex<Box<Messzelle>>>)
[src]
pub fn add_messzelle(&mut self, messzelle: Arc<Mutex<Box<Messzelle>>>)
Fügt eine eine Messzelle hinzu
Die Messzellen des Servers sind in Arc
, Mutex
und Box
gekapselt.
Dadurch sind die Messzellen in den unterschiedlichen Server Threads Server::update_sensors()
und Server::check_zones()
verfügbar (geteilt, veränderlich).
Examples
use xmz_server::prelude::*; use xmz_server::Zone; use xmz_server::messzelle::{Messzelle, RaGasNO2Mod}; let messzelle1 = Arc::new(Mutex::new(Box::new( RaGasNO2Mod::new() ) as Box<Messzelle>)); let mut zone = Zone::new(); zone.add_messzelle(messzelle1); assert_eq!(zone.messzellen.len(), 1);