From 23ef87109b4f8f84129da4ec3aef83775da5e77a Mon Sep 17 00:00:00 2001
From: Covertness <wuyingfengsui@gmail.com>
Date: Sat, 25 Jul 2015 19:26:31 +0800
Subject: [PATCH] bench client request

---
 .travis.yml       |  3 ++-
 benches/client.rs | 26 ++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 benches/client.rs

diff --git a/.travis.yml b/.travis.yml
index 37374e3..a40ad84 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,7 @@ addons:
 
 # run builds for both all the trains
 rust:
+  - nightly
   - beta
   - stable
 
@@ -23,7 +24,7 @@ script:
   - |
       travis-cargo build &&
       travis-cargo test &&
-      travis-cargo bench &&
+      travis-cargo --only nightly bench &&
       travis-cargo --only stable doc
 after_success:
   # upload the documentation from the build with beta (automatically only actually
diff --git a/benches/client.rs b/benches/client.rs
new file mode 100644
index 0000000..7fa45f2
--- /dev/null
+++ b/benches/client.rs
@@ -0,0 +1,26 @@
+#![feature(test)]
+
+extern crate test;
+extern crate coap;
+
+use test::Bencher;
+use coap::packet::*;
+use coap::CoAPClient;
+
+#[bench]
+fn bench_client_request(b: &mut Bencher) {
+	let addr = "127.0.0.1:5683";
+	let request = "test";
+	let mut packet = Packet::new();
+	packet.header.set_version(1);
+	packet.header.set_type(PacketType::Confirmable);
+	packet.header.set_code("0.01");
+	packet.header.set_message_id(1);
+	packet.set_token(vec!(0x51, 0x55, 0x77, 0xE8));
+	packet.add_option(OptionType::UriPath, request.to_string().into_bytes());
+
+	b.iter(|| {
+		let client = CoAPClient::new(addr).unwrap();
+		client.send(&packet).unwrap();
+	});
+}
\ No newline at end of file
-- 
GitLab