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
54extern 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