@@ -42,7 +42,7 @@ impl error::Error for StatsdError {}
42
42
///
43
43
/// # Example
44
44
///
45
- /// Creating a client and sending metrics is easy.
45
+ /// Creating a client and sending metrics can be done with:
46
46
///
47
47
/// ```ignore
48
48
/// use statsd::client::Client;
@@ -415,7 +415,7 @@ impl Pipeline {
415
415
_data += client. prepare ( & data) . as_ref ( ) ;
416
416
while !self . stats . is_empty ( ) {
417
417
let stat = client. prepare ( self . stats . pop_front ( ) . unwrap ( ) ) ;
418
- if data . len ( ) + stat. len ( ) + 1 > self . max_udp_size {
418
+ if _data . len ( ) + stat. len ( ) + 1 > self . max_udp_size {
419
419
client. send ( _data. clone ( ) ) ;
420
420
_data. clear ( ) ;
421
421
_data += & stat;
@@ -679,6 +679,20 @@ mod test {
679
679
assert_eq ! ( vec![ "myapp.metric:9.1|g" , "myapp.metric:12.2|c" ] , response) ;
680
680
}
681
681
682
+ #[ test]
683
+ fn test_pipeline_set_max_udp_size_chunk ( ) {
684
+ let server = Server :: new ( ) ;
685
+ let client = Client :: new ( server. addr ( ) , "myapp" ) . unwrap ( ) ;
686
+ let response = server. run_while_receiving_all ( || {
687
+ let mut pipeline = client. pipeline ( ) ;
688
+ pipeline. set_max_udp_size ( 5 ) ;
689
+ pipeline. gauge ( "metric_gauge" , 9.1 ) ;
690
+ pipeline. count ( "metric_letters" , 12.2 ) ;
691
+ pipeline. send ( & client) ;
692
+ } ) ;
693
+ assert_eq ! ( vec![ "myapp.metric_gauge:9.1|g" , "myapp.metric_letters:12.2|c" ] , response) ;
694
+ }
695
+
682
696
#[ test]
683
697
fn test_pipeline_send_metric_after_pipeline ( ) {
684
698
let server = Server :: new ( ) ;
0 commit comments