pub trait RouterBuilderRuntimeExt {
// Required methods
fn runtime(self) -> Self;
fn prefetch(self, mode: PrefetchMode) -> Self;
fn max_runs_per_connection(self, max: usize) -> Self;
}router only.Expand description
Sets up the browser runtime on a RouterBuilder.
Required Methods§
Sourcefn runtime(self) -> Self
fn runtime(self) -> Self
Enables page reruns by registering a RuntimeLayer.
Call this once when building a router that serves interactive pages.
Register your application’s pathless layers first so the runtime
layer can rewrite page reruns to GET before those layers run.
See RuntimeLayer for the request format and rewrite behavior.
Register procedures and shards separately through discovery or explicit registration.
Sourcefn prefetch(self, mode: PrefetchMode) -> Self
fn prefetch(self, mode: PrefetchMode) -> Self
Sets when links in this router load their pages ahead of time.
This sets the app context value read by
prefetch_mode. You can override it with a
PrefetchMode in the request context or with a link’s prefetch
argument.
use topcoat_router::Router;
use topcoat_runtime::{PrefetchMode, RouterBuilderRuntimeExt};
let router = Router::builder()
.runtime()
.prefetch(PrefetchMode::Viewport)
.build();§Panics
Panics if the app context already contains a PrefetchMode.
Sourcefn max_runs_per_connection(self, max: usize) -> Self
fn max_runs_per_connection(self, max: usize) -> Self
Sets how many connected renders one runtime connection may have at once. The default is 64.
The browser keeps one connected render for each live page or shard
that is not inside another one. Once a connection reaches the limit,
the server answers further render requests with
429 Too Many Requests until a render finishes or is stopped.
use topcoat_router::Router;
use topcoat_runtime::RouterBuilderRuntimeExt;
let router = Router::builder()
.runtime()
.max_runs_per_connection(128)
.build();§Panics
Panics if the limit was already set.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".