summaryrefslogtreecommitdiff
path: root/src/msg.rs
diff options
context:
space:
mode:
authorF001 <changchun.fan@qq.com>2018-11-30 11:03:00 +0800
committerRyan Dahl <ry@tinyclouds.org>2018-11-29 19:03:00 -0800
commitb6fda735ee0106b72500d927b9695a27ecd519f3 (patch)
tree25b176f3120b1fd7387cc350e86cb24b82eea15e /src/msg.rs
parent286e76d8c1da135cf159218fe3808fda7405301a (diff)
Replace mutex by atomics (#1238)
Diffstat (limited to 'src/msg.rs')
-rw-r--r--src/msg.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/msg.rs b/src/msg.rs
index 9c8095e8f..b47d588bd 100644
--- a/src/msg.rs
+++ b/src/msg.rs
@@ -2,6 +2,20 @@
#![allow(dead_code)]
#![cfg_attr(feature = "cargo-clippy", allow(clippy, pedantic))]
use flatbuffers;
+use std::sync::atomic::Ordering;
+
// GN_OUT_DIR is set either by build.rs (for the Cargo build), or by
// build_extra/rust/run.py (for the GN+Ninja build).
include!(concat!(env!("GN_OUT_DIR"), "/gen/msg_generated.rs"));
+
+impl<'a> From<&'a super::isolate::Metrics> for MetricsResArgs {
+ fn from(m: &'a super::isolate::Metrics) -> Self {
+ MetricsResArgs {
+ ops_dispatched: m.ops_dispatched.load(Ordering::SeqCst) as u64,
+ ops_completed: m.ops_completed.load(Ordering::SeqCst) as u64,
+ bytes_sent_control: m.bytes_sent_control.load(Ordering::SeqCst) as u64,
+ bytes_sent_data: m.bytes_sent_data.load(Ordering::SeqCst) as u64,
+ bytes_received: m.bytes_received.load(Ordering::SeqCst) as u64,
+ }
+ }
+}