How Rust Engines are implemented
There are 2 main components to engines implemented in Rust
The bridged-engine
Because Rust engines still need to work with the existing Sync infrastructure, there’s the concept of a bridged-engine. In short, this is just a shim between the existing Sync Service and the Rust code.
The bridge
“Golden Gate” was previously used to help bridge any Rust implemented Sync engines with desktop, but most of that logic has been removed. The integration of UniFFI-ed components made the Golden Gate bridge code obsolete. Currently Golden Gate contains the logging logic for the components and the bridged engines exist in application services within the respective sync components. For instance, these are bridged engines for tabs and webext-storage.