Crate yew_agent

source ·
Expand description

This module contains Yew’s web worker implementation.


There’re a couple kinds of agents:


A kind of agent that for each input, a single output is returned.


A kind of agent that can send many inputs and receive many outputs over a single bridge.


The low-level implementation of agents that provides an actor model and communicates with multiple bridges.


When an agent is spawned, each agent is associated with a reachability.


Each time a bridge is created, a new instance of agent is spawned. This allows parallel computing between agents.


Public agents are shared among all children of a provider. Only 1 instance will be spawned for each public agents provider.


Each Agent requires a provider to provide communications and maintain bridges. All hooks must be called within a provider.

Communications with Agents

Hooks provides means to communicate with agent instances.


See: use_worker_bridge, use_reactor_bridge

A bridge takes a callback to receive outputs from agents and provides a handle to send inputs to agents.


See: use_worker_subscription, use_reactor_subscription

Similar to bridges, a subscription produces a handle to send inputs to agents. However, instead of notifying the receiver with a callback, it collect all outputs into a slice.


See: use_oneshot_runner

Unlike other agents, oneshot bridges provide a use_oneshot_runner hook to execute oneshot agents on demand.


  • This module provides task agent implementation.
  • Prelude module to be imported when working with yew-agent.
  • This module contains the reactor agent implementation.
  • This module contains extensions to the component scope for agent access.
  • This module contains the worker agent implementation.



  • The reachability of an agent.


  • Message Encoding and Decoding Format
  • A trait to enable public workers being registered in a web worker.
  • A Worker that can be spawned by a spawner.