Xray-core/app
yuhan6665 42aea01fb5
Core: Add mutex to injection resolution (#4206)
* Revert "Add RequireFeaturesAsync() that works regardless order of app init"

* Add mutex to injection resolution

- Turns out we already support async DI resolution regardless of feature ordering
Previous code contain a race condition causing some resolution is lost
- Note that the new mutex cover s.pendingResolutions and s.features
but must not cover callbackResolution() due to deadlock
- Refactor some method names and simplify code

* Add OptionalFeatures injection

For example OptionalFeatures() is useful for fakedns module
2024-12-26 12:55:12 +00:00
..
commander Chore: Generate *.pb.go files with protoc v5.28.2 2024-10-16 04:06:21 +00:00
dispatcher Core: Add mutex to injection resolution (#4206) 2024-12-26 12:55:12 +00:00
dns Core: Add mutex to injection resolution (#4206) 2024-12-26 12:55:12 +00:00
log Chore: Fix some spelling errors (#3976) 2024-11-06 10:42:43 -05:00
metrics Chore: Generate *.pb.go files with protoc v5.28.2 2024-10-16 04:06:21 +00:00
observatory Core: Add mutex to injection resolution (#4206) 2024-12-26 12:55:12 +00:00
policy Chore: Fix versions in some *.pb.go files 2024-11-11 03:27:30 +00:00
proxyman Core: Add mutex to injection resolution (#4206) 2024-12-26 12:55:12 +00:00
reverse Chore: Generate *.pb.go files with protoc v5.28.2 2024-10-16 04:06:21 +00:00
router Core: Add mutex to injection resolution (#4206) 2024-12-26 12:55:12 +00:00
stats Chore: Fix versions in some *.pb.go files 2024-11-11 03:27:30 +00:00
app.go v1.0.0 2020-11-25 19:01:53 +08:00