The Tuner and Transmitter compare the files constituting the channel. If the Transmitter has a newer version of a channel file, or a new file, it sends the file to the Tuner. To further conserve network bandwidth, small updates to large files are sent as editing commands which the Tuner executes. Channel updates are performed atomically, like database transactions, so that a channel always has a consistent set of files, even if the power fails during an update. To conserve disk space, Tuners automatically garbage collect obsolete files, and keep only one copy of files that are shared among channels.
Tuners are themselves channels, and automatically update themselves once a week.
Transmitters Castanet Transmitters serve channel files in response to Tuner requests, roughly as HTTP servers serve Web pages to Web browsers. Unlike HTTP servers, Transmitters send a Tuner only the files that are out of date on the Tuner's machine, and they send all of the files in a single network connection. Transmitters are, accordingly, more efficient than HTTP servers. For a given channel it serves, a Transmitter may play the role of primary Transmitter or repeating Transmitter. The channel developer designates a Transmitter's role when he or she creates the channel.