liminal-server 0.25.4

Standalone server for the liminal messaging bus
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Repeated topology publications retain refusal names once, in observed order.
use super::Link;
impl Link {
    pub(crate) fn retain_carrier_refusals(&mut self, previous: &Self) {
        if self.carrier.is_none() {
            self.carrier.clone_from(&previous.carrier);
            self.relayed.clone_from(&previous.relayed);
            self.carried_by.clone_from(&previous.carried_by);
        }
        let mut names = previous.carrier_refusals.clone();
        for name in &self.carrier_refusals {
            if !names.contains(name) {
                names.push(name.clone());
            }
        }
        self.carrier_refusals = names;
    }
}