cakerabbit_core/
lib.rs

1
2#![feature(test)]
3
4#[macro_use]
5extern crate log;
6
7mod codec;
8mod endpoint;
9mod errors;
10mod message;
11mod cakeservice;
12mod reg;
13mod reg_consul;
14mod selector;
15mod node;
16mod cakeclient;
17mod failmode;
18mod config;
19
20pub use crate::endpoint::{
21  serve, Ack, Client, Endpoint, Response,
22};
23
24pub use crate::cakeservice::{
25  Service, ServiceWithClient, CakeServiceServe, CakeFn, CakeResult
26};
27
28pub use crate::reg::{
29  Register
30};
31
32pub use crate::selector::{
33  Selector, new_selector, SelectorTyp
34};
35
36pub use crate::failmode::{
37  FailMode, Failover, Failtry,
38};
39
40pub use crate::errors::{
41  CakeError,
42};
43
44pub use crate::cakeclient::{
45  CakeClient,
46};
47
48pub use crate::config::{
49  CONFIG,
50};
51
52pub use rmpv::{Integer, Utf8String, Value};
53
54// todo: global extern test module
55extern crate test;
56
57pub fn add_two(a: i32) -> i32 {
58  a + 2
59}
60
61#[cfg(test)]
62mod tests {
63  use super::*;
64  use test::Bencher;
65
66  #[test]
67  fn test_add_two() {
68    assert_eq!(4, add_two(2));
69  }
70
71  #[bench]
72  fn bench_add_two(b: &mut Bencher) {
73    b.iter(| | add_two(2));
74  }
75}
76
77