sim-lib-server 0.1.0

SIM workspace package for sim lib server.
Documentation
use sim_kernel::{Cx, Result};
use sim_lib_stream_core::{PlacedFragment, StreamEnvelope};

use crate::Site;

/// Realizes a placed fragment on `site`, returning the resulting stream
/// envelopes for its output edges.
pub fn realize(
    cx: &mut Cx,
    fragment: PlacedFragment,
    site: &dyn Site,
) -> Result<Vec<StreamEnvelope>> {
    site.run_fragment(cx, &fragment)
}

/// Realizes `fragment` on `site` and returns its stream events; an alias for
/// [`realize`] named for the streaming call site.
pub fn realize_stream_events(
    cx: &mut Cx,
    fragment: PlacedFragment,
    site: &dyn Site,
) -> Result<Vec<StreamEnvelope>> {
    realize(cx, fragment, site)
}