diff options
| author | 2024-11-08 14:56:28 +0000 | |
|---|---|---|
| committer | 2024-11-08 20:31:49 +0000 | |
| commit | 5bd57513b64ec8c3c9bce97a7f7cf865941626ec (patch) | |
| tree | 6bf4a7cf4975e309c572410c6182b260495428a2 | |
| parent | 3bf9a451d357f4274b9574ab68fe87eaaddb5a50 (diff) | |
Add flag for enabling Rust aconfigd_system
Also, switch aflags to read from aconfigd_system when the flag is enabled.
Bug: 378079539
Test: m
Change-Id: Ibdb324699efa9ed1ca9711935ecddf2c4102b024
Merged-In: Ibdb324699efa9ed1ca9711935ecddf2c4102b024
| -rw-r--r-- | tools/aconfig/aconfig_flags/flags.aconfig | 8 | ||||
| -rw-r--r-- | tools/aconfig/aconfig_flags/src/lib.rs | 11 | ||||
| -rw-r--r-- | tools/aconfig/aflags/src/aconfig_storage_source.rs | 7 |
3 files changed, 25 insertions, 1 deletions
diff --git a/tools/aconfig/aconfig_flags/flags.aconfig b/tools/aconfig/aconfig_flags/flags.aconfig index 0a004ca4e1..b66d282f0e 100644 --- a/tools/aconfig/aconfig_flags/flags.aconfig +++ b/tools/aconfig/aconfig_flags/flags.aconfig @@ -14,3 +14,11 @@ flag { bug: "369808805" description: "When enabled, launch aconfigd from config infra module." } + +flag { + name: "enable_system_aconfigd_rust" + namespace: "core_experiments_team_internal" + bug: "378079539" + description: "When enabled, the aconfigd cc_binary target becomes a no-op, and the rust_binary aconfigd-system target starts up." + is_fixed_read_only: true +} diff --git a/tools/aconfig/aconfig_flags/src/lib.rs b/tools/aconfig/aconfig_flags/src/lib.rs index 2e891273ed..b413c62b12 100644 --- a/tools/aconfig/aconfig_flags/src/lib.rs +++ b/tools/aconfig/aconfig_flags/src/lib.rs @@ -39,6 +39,11 @@ pub mod auto_generated { pub fn enable_aconfigd_from_mainline() -> bool { aconfig_flags_rust::enable_only_new_storage() } + + /// Returns the value for the enable_system_aconfigd_rust flag. + pub fn enable_system_aconfigd_rust() -> bool { + aconfig_flags_rust::enable_system_aconfigd_rust() + } } /// Module used when building with cargo @@ -55,4 +60,10 @@ pub mod auto_generated { // Used only to enable typechecking and testing with cargo true } + + /// Returns a placeholder value for the enable_system_aconfigd_rust flag. + pub fn enable_system_aconfigd_rust() -> bool { + // Used only to enable typechecking and testing with cargo + true + } } diff --git a/tools/aconfig/aflags/src/aconfig_storage_source.rs b/tools/aconfig/aflags/src/aconfig_storage_source.rs index 68edf7d3ac..3f593fe77e 100644 --- a/tools/aconfig/aflags/src/aconfig_storage_source.rs +++ b/tools/aconfig/aflags/src/aconfig_storage_source.rs @@ -93,7 +93,12 @@ fn read_from_socket() -> Result<Vec<ProtoFlagQueryReturnMessage>> { special_fields: SpecialFields::new(), }; - let mut socket = UnixStream::connect("/dev/socket/aconfigd")?; + let socket_name = if aconfig_flags::auto_generated::enable_system_aconfigd_rust() { + "/dev/socket/aconfigd_system" + } else { + "/dev/socket/aconfigd" + }; + let mut socket = UnixStream::connect(socket_name)?; let message_buffer = messages.write_to_bytes()?; let mut message_length_buffer: [u8; 4] = [0; 4]; |