feat: Implement runtime API cache store and related configurations

- Added RuntimeApiCacheStore for managing API cache entries in memory.
- Introduced StorageTarget enum to define various storage targets.
- Created StoredCacheEntry record to encapsulate cache entries.
- Defined SyncState enum to represent the synchronization state of cache entries.
- Added ControlPlaneConfigurationSource enum for different configuration sources.
- Developed ControlPlaneRuntimeConfig class for runtime configuration management.
- Implemented ControlPlaneStartupConfigResolver for resolving configuration from various sources.
- Created ControlPlaneStartupSettings to hold startup configuration values.
- Added ResolvedControlPlaneStartupConfig record to encapsulate resolved configuration.
- Implemented tests for batch client and cache client functionalities.
- Added tests for ControlPlaneStartupConfigResolver to validate configuration resolution logic.
This commit is contained in:
2026-06-05 07:00:14 -07:00
parent 7a4a0bd4bd
commit 59330bdf84
56 changed files with 3627 additions and 490 deletions
+20 -5
View File
@@ -21,7 +21,7 @@ The generated files are meant to make the control plane feel like a stable Java
## Generated control-plane SDK tree
The generated Java API output now lives under:
The generated Java API output lives under:
```text
src/main/java/net/kewwbec/network/generated/api/v1/
@@ -48,7 +48,7 @@ What that means:
- each route has its own generated `*Endpoint` file
- shared descriptor records live in `shared/`
Example imports now look like:
Example imports look like:
```java
import net.kewwbec.network.generated.api.v1.ControlPlaneApiV1;
@@ -62,11 +62,11 @@ The handwritten bridge is still:
src/main/java/net/kewwbec/network/network.java
```
Everything under `src/main/java/net/kewwbec/network/generated` is generator-owned and should not be edited manually.
Everything under `src/main/java/net/kewwbec/network/generated` is generator-owned and should **not** be edited manually. If they need edits check the generator in the control panel repo
## How generation works
The source of truth for the generated API tree is the sibling `core-control-plane` repository.
The source of truth for the generated API tree is the `core-control-plane` repository.
Run the sync from that repository:
@@ -93,12 +93,27 @@ gradlew.bat build
gradlew.bat runServer
```
If the upstream Hytale server artifact is unavailable, full Gradle compilation may fail before it reaches your plugin code. In that case, validate generated Java-only slices separately and re-run once the dependency is resolvable.
## Wiki docs
Developer-facing wiki pages live under:
```text
docs/wiki/
```
Start with:
- [Core Network Wiki](docs/wiki/Home.md)
- [Getting Started](docs/wiki/Getting-Started.md)
- [Batched API Calls](docs/wiki/Batched-API-Calls.md)
- [API Response Storage](docs/wiki/API-Response-Storage.md)
## Project structure
```text
core-network/
docs/wiki/
src/main/java/
net/kewwbec/network/
network.java