Name Description Size
communications
communications.rs Server Communications. Handles however communication to and from the remote Push Server should be done. For Desktop this will be over Websocket. For mobile, it calls into the local operating system and HTTPS to the web push server. Mainly exposes a trait [`Connection`] and a concrete type that implements it [`ConnectHttp`] The trait is a lightweight interface that talks to autopush servers and provides the following functionality - Subscription: Through [`Connection::subscribe_new`] on first subscription, and [`Connection::subscribe_with_uaid`] on subsequent subscriptiosn - Unsubscription: Through [`Connection::unsubscribe`] for a single channel, and [`Connection::unsubscribe_all`] for all channels - Updating tokens: Through [`Connection::update`] to update a native token - Getting all subscription channels: Through [`Connection::channel_list`] 21975
config.rs Provides configuration for the [PushManager](`crate::PushManager`) 3109
crypto.rs Module providing all the cryptography needed by the push component Mainly exports a trait [`Cryptography`] and a concrete type that implements that trait [`Crypto`] The push component encrypts its push notifications. When a subscription is created, [`Cryptography::generate_key`] is called to generate a public/private key pair. The public key is then given to the subscriber (for example, Firefox Accounts) and the private key is persisted in the client. Subscribers are required to encrypt their payloads using the public key and when delivered to the client, the client would load the private key from storage and decrypt the payload. 11761
mod.rs 344
push_manager.rs Main entrypoint for the push component, handles push subscriptions Exposes a struct [`PushManager`] that manages push subscriptions for a client The [`PushManager`] allows users to: - Create new subscriptions persist their private keys and return a URL for sender to send encrypted payloads using a returned public key - Delete existing subscriptions - Update native tokens with autopush server - routinely check subscriptions to make sure they are in a good state. 37997
storage