pub struct GraphInner {
pub shared: Arc<GraphShared>,
/* private fields */
}Fields§
Implementations§
Source§impl GraphInner
impl GraphInner
pub fn add_observer( &self, port: &str, cb: unsafe extern "C" fn(*mut c_void, LMFlowPacket), user: *mut c_void, observe_timestamp_bounds: bool, ) -> Result<()>
Sourcepub fn add_observer_fn(
&self,
port: &str,
callback: Arc<dyn Fn(&Packet) + Send + Sync>,
observe_timestamp_bounds: bool,
) -> Result<()>
pub fn add_observer_fn( &self, port: &str, callback: Arc<dyn Fn(&Packet) + Send + Sync>, observe_timestamp_bounds: bool, ) -> Result<()>
Rust 宿主的推模式订阅。回调在派发该包的线程上执行(可能是池线程),
因此必须 Send + Sync;回调内不得再调 graph 的生命周期接口。
pub fn nodes_len(&self) -> usize
pub fn node_name_at(&self, i: usize) -> Option<&str>
pub fn node_input_ports_len(&self, node: usize) -> usize
pub fn node_input_port_name_at(&self, node: usize, port: usize) -> Option<&str>
pub fn input_port_name_at(&self, i: usize) -> Option<&str>
pub fn output_port_name_at(&self, i: usize) -> Option<&str>
pub fn num_input_ports(&self) -> usize
pub fn num_output_ports(&self) -> usize
pub fn edge_id_by_name(&self, name: &str) -> Option<EdgeId>
pub fn input_edge_by_name(&self, name: &str) -> Option<EdgeId>
pub fn queue_depth_by_name(&self, name: &str) -> Option<usize>
pub fn dropped_by_name(&self, name: &str) -> Option<u64>
pub fn send_by_edge( &self, edge: EdgeId, packet: Packet, blocking: bool, ) -> Result<()>
pub fn close_edge_pub(&self, edge: EdgeId)
pub fn state_pub(&self) -> State
pub fn dump_pub(&self) -> String
pub fn node_stats_pub(&self, i: usize) -> Option<NodeStatsSnapshot>
pub fn side_packets_mut(&self) -> &Mutex<BTreeMap<String, Packet>>
pub fn start_pub(self: &Arc<Self>) -> Result<()>
pub fn wait_done_pub(&self) -> Result<()>
pub fn pump_step_pub(&self) -> bool
pub fn all_nodes_closed_pub(&self) -> bool
pub fn graph_inputs(&self) -> &[EdgeId] ⓘ
pub fn pause(&self)
pub fn is_paused(&self) -> bool
pub fn executor_names(&self) -> Vec<&str>
Source§impl GraphInner
impl GraphInner
Sourcepub fn to_chrome_trace(&self) -> String
pub fn to_chrome_trace(&self) -> String
导出当前 trace 环内容为 Chrome Trace Event Format 的 JSON(chrome://tracing /
perfetto 可直接打开)。未开启 trace(trace_capacity == 0)时返回一个合法的空
trace({"traceEvents":[],...})。多次调用返回环的当前快照,互不影响。
Source§impl GraphInner
impl GraphInner
Sourcepub fn run_node_on_worker(&self, n: NodeId)
pub fn run_node_on_worker(&self, n: NodeId)
线程池工作线程的入口。
Sourcepub fn wake_source_on_worker(&self, n: NodeId, generation: u64)
pub fn wake_source_on_worker(&self, n: NodeId, generation: u64)
线程池延迟任务入口:只有当前代次的等待 Source 会被重新放行。
pub fn executor_task_completed(&self)
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for GraphInner
impl !RefUnwindSafe for GraphInner
impl !UnwindSafe for GraphInner
impl Send for GraphInner
impl Sync for GraphInner
impl Unpin for GraphInner
impl UnsafeUnpin for GraphInner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more