pub struct BuiltTopology { /* private fields */ }Expand description
A built topology.
Built topologies represent a topology blueprint where each configured component, along with their associated connections to other components, was validated and built successfully.
A built topology must be spawned via spawn.
Implementations§
Source§impl BuiltTopology
impl BuiltTopology
Sourcepub fn with_ambient_worker_pool(self) -> Self
pub fn with_ambient_worker_pool(self) -> Self
Configures the topology to use the ambient Tokio runtime.
Component subtasks will be spawned on whatever runtime is currently active
when spawn is called. This avoids creating a dedicated thread pool,
which is useful for resource-constrained environments like Lambda.
Sourcepub fn with_explicit_worker_pool(self, handle: Handle) -> Self
pub fn with_explicit_worker_pool(self, handle: Handle) -> Self
Configures the topology to use an externally provided Tokio runtime.
Component subtasks will be spawned on the runtime associated with the given handle.
Sourcepub async fn spawn(
self,
health_registry: &HealthRegistry,
memory_limiter: MemoryLimiter,
) -> Result<RunningTopology, GenericError>
pub async fn spawn( self, health_registry: &HealthRegistry, memory_limiter: MemoryLimiter, ) -> Result<RunningTopology, GenericError>
Spawns the topology.
By default, a dedicated, multi-threaded Tokio runtime (8 threads) is created for
components to spawn compute-heavy subtasks on. Use
with_ambient_worker_pool or
with_explicit_worker_pool to change this
before calling spawn.
A handle is returned that can be used to trigger the topology to shutdown.
§Errors
If an error occurs while spawning the topology, an error is returned.
Auto Trait Implementations§
impl Freeze for BuiltTopology
impl !RefUnwindSafe for BuiltTopology
impl Send for BuiltTopology
impl !Sync for BuiltTopology
impl Unpin for BuiltTopology
impl UnsafeUnpin for BuiltTopology
impl !UnwindSafe for BuiltTopology
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Track for T
impl<T> Track for T
§fn track_allocations(self, token: AllocationGroupToken) -> Tracked<Self>
fn track_allocations(self, token: AllocationGroupToken) -> Tracked<Self>
Tracked wrapper. Read more§fn in_current_allocation_group(self) -> Tracked<Self>
fn in_current_allocation_group(self) -> Tracked<Self>
Tracked wrapper. Read more