diff options
Diffstat (limited to 'cli/state.rs')
-rw-r--r-- | cli/state.rs | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/cli/state.rs b/cli/state.rs index 8ad122036..44ab73034 100644 --- a/cli/state.rs +++ b/cli/state.rs @@ -89,25 +89,40 @@ impl State { zero_copy.as_ref().map(|b| b.len()).unwrap_or(0) as u64; let op = dispatcher(control, zero_copy); - state.metrics_op_dispatched(bytes_sent_control, bytes_sent_zero_copy); match op { Op::Sync(buf) => { - state.metrics_op_completed(buf.len() as u64); + let mut state_ = state.borrow_mut(); + state_.metrics.op_sync( + bytes_sent_control, + bytes_sent_zero_copy, + buf.len() as u64, + ); Op::Sync(buf) } Op::Async(fut) => { + let mut state_ = state.borrow_mut(); + state_ + .metrics + .op_dispatched_async(bytes_sent_control, bytes_sent_zero_copy); let state = state.clone(); let result_fut = fut.map_ok(move |buf: Buf| { - state.metrics_op_completed(buf.len() as u64); + let mut state_ = state.borrow_mut(); + state_.metrics.op_completed_async(buf.len() as u64); buf }); Op::Async(result_fut.boxed_local()) } Op::AsyncUnref(fut) => { + let mut state_ = state.borrow_mut(); + state_.metrics.op_dispatched_async_unref( + bytes_sent_control, + bytes_sent_zero_copy, + ); let state = state.clone(); let result_fut = fut.map_ok(move |buf: Buf| { - state.metrics_op_completed(buf.len() as u64); + let mut state_ = state.borrow_mut(); + state_.metrics.op_completed_async_unref(buf.len() as u64); buf }); Op::AsyncUnref(result_fut.boxed_local()) @@ -358,21 +373,4 @@ impl State { ) .unwrap() } - - pub fn metrics_op_dispatched( - &self, - bytes_sent_control: u64, - bytes_sent_data: u64, - ) { - let mut state = self.borrow_mut(); - state.metrics.ops_dispatched += 1; - state.metrics.bytes_sent_control += bytes_sent_control; - state.metrics.bytes_sent_data += bytes_sent_data; - } - - pub fn metrics_op_completed(&self, bytes_received: u64) { - let mut state = self.borrow_mut(); - state.metrics.ops_completed += 1; - state.metrics.bytes_received += bytes_received; - } } |