11extern crate websocket;
2- extern crate serde_json;
32
4- use std:: str:: from_utf8;
53use websocket:: ClientBuilder ;
4+ use websocket:: OwnedMessage ;
65use websocket:: Message ;
7- use websocket:: message:: Type ;
86
97fn main ( ) {
108 let addr = "ws://127.0.0.1:9001" . to_string ( ) ;
@@ -33,7 +31,7 @@ fn main() {
3331 println ! ( "Executing test case: {}/{}" , case_id, case_count) ;
3432
3533 for message in receiver. incoming_messages ( ) {
36- let message: Message = match message {
34+ let message = match message {
3735 Ok ( message) => message,
3836 Err ( e) => {
3937 println ! ( "Error: {:?}" , e) ;
@@ -42,20 +40,19 @@ fn main() {
4240 }
4341 } ;
4442
45- match message. opcode {
46- Type :: Text => {
47- let response = Message :: text ( from_utf8 ( & * message. payload ) . unwrap ( ) ) ;
48- sender. send_message ( & response) . unwrap ( ) ;
43+ match message {
44+ OwnedMessage :: Text ( txt) => {
45+ sender. send_message ( & OwnedMessage :: Text ( txt) ) . unwrap ( ) ;
4946 }
50- Type :: Binary => {
51- sender. send_message ( & Message :: binary ( message . payload ) ) . unwrap ( ) ;
47+ OwnedMessage :: Binary ( bin ) => {
48+ sender. send_message ( & OwnedMessage :: Binary ( bin ) ) . unwrap ( ) ;
5249 }
53- Type :: Close => {
54- let _ = sender. send_message ( & Message :: close ( ) ) ;
50+ OwnedMessage :: Close ( _ ) => {
51+ let _ = sender. send_message ( & OwnedMessage :: Close ( None ) ) ;
5552 break ;
5653 }
57- Type :: Ping => {
58- sender. send_message ( & Message :: pong ( message . payload ) ) . unwrap ( ) ;
54+ OwnedMessage :: Ping ( data ) => {
55+ sender. send_message ( & OwnedMessage :: Pong ( data ) ) . unwrap ( ) ;
5956 }
6057 _ => ( ) ,
6158 }
@@ -81,7 +78,7 @@ fn get_case_count(addr: String) -> usize {
8178 let mut count = 0 ;
8279
8380 for message in receiver. incoming_messages ( ) {
84- let message: Message = match message {
81+ let message = match message {
8582 Ok ( message) => message,
8683 Err ( e) => {
8784 println ! ( "Error: {:?}" , e) ;
@@ -90,17 +87,17 @@ fn get_case_count(addr: String) -> usize {
9087 break ;
9188 }
9289 } ;
93- match message. opcode {
94- Type :: Text => {
95- count = serde_json :: from_str ( from_utf8 ( & * message . payload ) . unwrap ( ) ) . unwrap ( ) ;
90+ match message {
91+ OwnedMessage :: Text ( txt ) => {
92+ count = txt . parse ( ) . unwrap ( ) ;
9693 println ! ( "Will run {} cases..." , count) ;
9794 }
98- Type :: Close => {
95+ OwnedMessage :: Close ( _ ) => {
9996 let _ = sender. send_message ( & Message :: close ( ) ) ;
10097 break ;
10198 }
102- Type :: Ping => {
103- sender. send_message ( & Message :: pong ( message . payload ) ) . unwrap ( ) ;
99+ OwnedMessage :: Ping ( data ) => {
100+ sender. send_message ( & OwnedMessage :: Pong ( data ) ) . unwrap ( ) ;
104101 }
105102 _ => ( ) ,
106103 }
@@ -125,23 +122,23 @@ fn update_reports(addr: String, agent: &str) {
125122 println ! ( "Updating reports..." ) ;
126123
127124 for message in receiver. incoming_messages ( ) {
128- let message: Message = match message {
125+ let message = match message {
129126 Ok ( message) => message,
130127 Err ( e) => {
131128 println ! ( "Error: {:?}" , e) ;
132129 let _ = sender. send_message ( & Message :: close ( ) ) ;
133130 return ;
134131 }
135132 } ;
136- match message. opcode {
137- Type :: Close => {
133+ match message {
134+ OwnedMessage :: Close ( _ ) => {
138135 let _ = sender. send_message ( & Message :: close ( ) ) ;
139136 println ! ( "Reports updated." ) ;
140137 println ! ( "Test suite finished!" ) ;
141138 return ;
142139 }
143- Type :: Ping => {
144- sender. send_message ( & Message :: pong ( message . payload ) ) . unwrap ( ) ;
140+ OwnedMessage :: Ping ( data ) => {
141+ sender. send_message ( & OwnedMessage :: Pong ( data ) ) . unwrap ( ) ;
145142 }
146143 _ => ( ) ,
147144 }
0 commit comments