Storage increase will be:
1.Build version: take RQ3A.210805.001.A1 as example, it needs 18 bytes in one device, so need 36 bytes in two devices.
2.Incoming or outgoing conection (
4 bytes tech +
4 bytes band +
4 bytes channel +
6 bytes network_operator +
2 bytes country_code +
1 byte tdls +
4 bytes try_counts +
1 byte wifi_ap_status +
4 bytes max_tx_speed +
4 bytes max_rx_speed) = 34 bytes)
So need 34*4 = 136 bytes in two directions initial connections and two directions bandwidth upgrades.
So there are total 172 bytes grows in each share.
(172 bytes in each sharing * 400000 shares/daily * 7 days/week) / GB = about 0.45 GB) (400000 was based on current shares/daily in Prod.)
PiperOrigin-RevId: 390282437
We refactor the `Core`/`ServiceControllerRouter`/`ServiceController` classes to better align with the GmsCore implementation. Notably,
1. `Core` instances share the same `ServiceControllerRouter`.
2. `ServiceControllerRouter` directly owns one `OfflineServiceController`--that is created lazily and destroyed when when the router is destroyed--instead of using a factory method to create `ServiceController`s.
3. Removes obsolete "strategy" logic from `ServiceControllerRouter`, which used to recreate service controllers if the "strategy" changed.
4. Removes `ServiceControllerRouter::ClientDisconnecting()`, which is identical to `StopAllEndpoints()`.
5. Makes various C++ style clean-ups like removing unnecessary static variables/functions.
See analogous Chrome OS changes at http://crrev.com/c/3025604.
PiperOrigin-RevId: 389188124
Support sending a file or stream payload from a non-zero offset.
This allows the clients to resume a transfer. Upper layers should use
this feature only when both sides support it.
PiperOrigin-RevId: 385137570
This method is called from multiple threads and needs to ensure the local_endpoint_id_ data member can be read/updated safely from multiple threads.
PiperOrigin-RevId: 384337724
Run reader and keep-alive workers on dedicated threads provided by
SingleThreadExecutor.
The thread handlers are stored in EndpointState, the workers are automatically
terminated when EndpointState is destroyed.
PiperOrigin-RevId: 380543888