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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user