birdc 0.4.2

Library to talk to the BIRD BGP server for administrative and instrumentation purposes
Documentation
use birdc::*;

mod server;
use server::*;

test_sync_async_request!(
    test_many_babel_entries(GET_BABEL_ENTRIES, "show babel entries meadow", response) {
        assert!(GET_BABEL_ENTRIES.len() > crate::READ_FRAME_SIZE, "this test requires data that is longer than the read frame size");

        assert_eq!(response.len(), 1);
        match response[0] {
            Message::BabelEntries(_) => (),
            _ => panic!("birdc parsed babel entries incorrectly"),
        }
    }
);

static GET_BABEL_ENTRIES: &str = "1025-meadow:
 meadow:
 Prefix                   Router ID               Metric Seqno  Routes Sources
 2001:db8:42:6::46/128 03:b9:65:01:00:00:00:46    111   126       6       1
 2001:db8:42:6::47/128 3a:47:32:b4:00:00:00:47     96    59       6       1
 2001:db8:42:6::48/128 5d:4b:f6:f3:00:00:00:48     96   160       6       1
 2001:db8:42:6::4c/128 4b:4b:16:9e:00:00:00:4c    256   627       6       1
 2001:db8:42:6::4e/128 58:10:b0:97:00:00:00:4e      0    24       0       0
 2001:db8:42:6::53/128 07:d3:b5:94:00:00:00:53    110   161       6       1
 2001:db8:42:7::46/128 03:b9:65:01:00:00:00:46    111   126       6       1
 2001:db8:42:7::47/128 3a:47:32:b4:00:00:00:47     96    59       6       1
 2001:db8:42:7::48/128 5d:4b:f6:f3:00:00:00:48     96   160       6       1
 2001:db8:42:7::4c/128 4b:4b:16:9e:00:00:00:4c    256   627       6       1
 2001:db8:42:7::4e/128 58:10:b0:97:00:00:00:4e      0    24       0       0
 2001:db8:42:7::53/128 07:d3:b5:94:00:00:00:53    110   161       6       1
 2001:db8:42:8::46/128 03:b9:65:01:00:00:00:46    111   126       6       1
 2001:db8:42:8::47/128 3a:47:32:b4:00:00:00:47     96    59       6       1
 2001:db8:42:8::48/128 5d:4b:f6:f3:00:00:00:48     96   160       6       1
 2001:db8:42:8::4c/128 4b:4b:16:9e:00:00:00:4c    256   627       6       1
 2001:db8:42:8::4e/128 58:10:b0:97:00:00:00:4e      0    24       0       0
 2001:db8:42:8::53/128 07:d3:b5:94:00:00:00:53    110   161       6       1
 2001:db8:42:9::46/128 03:b9:65:01:00:00:00:46    111   126       6       1
 2001:db8:42:9::47/128 3a:47:32:b4:00:00:00:47     96    59       6       1
 2001:db8:42:9::48/128 5d:4b:f6:f3:00:00:00:48     96   160       6       1
 2001:db8:42:9::4c/128 4b:4b:16:9e:00:00:00:4c    256   627       6       1
 2001:db8:42:9::4e/128 58:10:b0:97:00:00:00:4e      0    24       0       0
 2001:db8:42:9::53/128 07:d3:b5:94:00:00:00:53    110   161       6       1
 2001:db8:42:10::46/128 03:b9:65:01:00:00:00:46    111   126       6       1
 2001:db8:42:10::47/128 3a:47:32:b4:00:00:00:47     96    59       6       1
 2001:db8:42:10::48/128 5d:4b:f6:f3:00:00:00:48     96   160       6       1
 2001:db8:42:10::4c/128 4b:4b:16:9e:00:00:00:4c    256   627       6       1
 2001:db8:42:10::4e/128 58:10:b0:97:00:00:00:4e      0    24       0       0
 2001:db8:42:10::53/128 07:d3:b5:94:00:00:00:53    110   161       6       1
 2001:db8:42:11::46/128 03:b9:65:01:00:00:00:46    111   126       6       1
 2001:db8:42:11::47/128 3a:47:32:b4:00:00:00:47     96    59       6       1
 2001:db8:42:11::48/128 5d:4b:f6:f3:00:00:00:48     96   160       6       1
 2001:db8:42:11::4c/128 4b:4b:16:9e:00:00:00:4c    256   627       6       1
 2001:db8:42:11::4e/128 58:10:b0:97:00:00:00:4e      0    24       0       0
 2001:db8:42:11::53/128 07:d3:b5:94:00:00:00:53    110   161       6       1
0000 
";