TraceMachina / nativelink

Bazel RBE with CAS server implementation in Rust. The free and open source cache and remote execution service, prioritizing stability and speed for the people that need it.
https://docs.nativelink.com
Apache License 2.0
236 stars 46 forks source link

Implementation of ClientStateManager #985

Closed adam-singer closed 2 weeks ago

adam-singer commented 3 weeks ago

Description

Implementation of ClientStateManager where the beginnings of being able to tuck mutations behind a trait for StateManager. StateManager now wraps the StateManagerImpl for inner state structure StateManagerImpl. All mutations should be done on a lock on inner in the future. Moving implementation code of add_action and filter_operations into ClientStateManager trait. Updated accessor code from state_manager to state_manager.inner.

Fixes #990

Type of change

Please delete options that aren't relevant.

How Has This Been Tested?

Existing tests

Checklist


This change is Reviewable