The thing about contributing to Servo is that you keep learning new things about the Web…
Let’s take a look at how in Rust you can have an algorithm generic over T, where T is further bound by a trait, which itself is generic over one of several parameters, as used in the Servo codebase.
The HTML Living Standard tells us the following with regards to task-queues:
Today, let’s go through an entire fetch in Servo, starting with this example in JS:
fetch
We have structured the entire Servo browser engine as a series of threads that communicate over channels, avoiding unsafe explicitly shared global memory(…) (Experience Report: Developing the Servo Web Browser Engine using Rust…