pub struct EmbeddedInstantiateEnv {
pub inputs: SparseSecondaryMap<LocationKey, Vec<(Ident, Type)>>,
pub outputs: SparseSecondaryMap<LocationKey, Vec<(Ident, Type)>>,
pub network_outputs: SparseSecondaryMap<LocationKey, Vec<(String, bool)>>,
pub network_inputs: SparseSecondaryMap<LocationKey, Vec<(String, bool)>>,
pub membership_streams: SparseSecondaryMap<LocationKey, Vec<LocationKey>>,
}build only.Expand description
Collected embedded input/output registrations, keyed by location.
During compile_network, each HydroSource::Embedded and HydroRoot::EmbeddedOutput
IR node registers its ident, element type, and location key here.
generate_embedded then uses this to add the appropriate parameters
to each generated function.
Fields§
§inputs: SparseSecondaryMap<LocationKey, Vec<(Ident, Type)>>(ident name, element type) pairs per location key, for inputs.
outputs: SparseSecondaryMap<LocationKey, Vec<(Ident, Type)>>(ident name, element type) pairs per location key, for outputs.
network_outputs: SparseSecondaryMap<LocationKey, Vec<(String, bool)>>Network output port names per location key (sender side of channels). Each entry is (port_name, is_tagged) where is_tagged means the type is (TaglessMemberId, Bytes).
network_inputs: SparseSecondaryMap<LocationKey, Vec<(String, bool)>>Network input port names per location key (receiver side of channels). Each entry is (port_name, is_tagged) where is_tagged means the type is Result<(TaglessMemberId, BytesMut), Error>.
membership_streams: SparseSecondaryMap<LocationKey, Vec<LocationKey>>Cluster membership streams needed per location key. Maps location_key -> vec of cluster LocationKeys whose membership is needed.
Trait Implementations§
Source§impl Default for EmbeddedInstantiateEnv
impl Default for EmbeddedInstantiateEnv
Source§fn default() -> EmbeddedInstantiateEnv
fn default() -> EmbeddedInstantiateEnv
Auto Trait Implementations§
impl Freeze for EmbeddedInstantiateEnv
impl RefUnwindSafe for EmbeddedInstantiateEnv
impl !Send for EmbeddedInstantiateEnv
impl !Sync for EmbeddedInstantiateEnv
impl Unpin for EmbeddedInstantiateEnv
impl UnsafeUnpin for EmbeddedInstantiateEnv
impl UnwindSafe for EmbeddedInstantiateEnv
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more