diff --git a/README.md b/README.md index 65bc1e3..6b0e217 100644 --- a/README.md +++ b/README.md @@ -480,7 +480,7 @@ SoundTouch is a trademark of Bose Corporation. This Go library will continue to work as it uses the local Web API for direct device control, which is unaffected by the cloud service discontinuation. The local preset management functionality implemented in this library (discovered through the [SoundTouch Plus Wiki](https://github.com/thlucas1/homeassistantcomponent_soundtouchplus/wiki/SoundTouch-WebServices-API)) provides an alternative to the cloud-based preset features that will be discontinued. -**Community Alternatives**: See the [Related Projects](#related-projects) section below for additional tools like SoundCork that provide cloud service alternatives and the SoundTouch Plus project that offers comprehensive Home Assistant integration. +**Community Alternatives**: See the [Related Projects & Credits](#related-projects--credits) section below for additional tools like SoundCork that provide cloud service alternatives and the SoundTouch Plus project that offers comprehensive Home Assistant integration. ## Related Projects & Credits diff --git a/docs/concepts/technical-specification.md b/docs/concepts/technical-specification.md index 9ea2f73..c3f6f2e 100644 --- a/docs/concepts/technical-specification.md +++ b/docs/concepts/technical-specification.md @@ -816,7 +816,7 @@ func TestAccountManager_CreateAccount(t *testing.T) { wantErr: true, }, } - + for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := manager.CreateAccount(tt.input) @@ -848,6 +848,18 @@ go test ./... -v -cover go test -bench=. ./... ``` +## Performance Requirements + +### Response Time Targets +- Local API requests: < 100ms (95th percentile) +- Mirror requests: < 200ms overhead (asynchronous) +- Discovery time: < 5s for network scan + +### Resource Constraints +- Memory usage: < 64MB for small deployments +- CPU usage: < 5% on dual-core ARM systems (idle) +- Storage: < 100MB for interaction logs (rotatable) + ### Security Considerations #### Simple Security Model @@ -949,12 +961,12 @@ func (s *Server) HandleHealthCheck(w http.ResponseWriter, r *http.Request) { Version: version, Uptime: time.Since(startTime).String(), } - + // Simple checks if !s.canWriteToDataDir() { health.Status = "error" } - + w.Header().Set("Content-Type", "application/json") json.NewEncoder(w).Encode(health) } @@ -986,4 +998,4 @@ func (m *SimpleMetrics) Save(dataDir string) error { } ``` -This technical specification provides comprehensive details for implementing the enhanced state management system while maintaining compatibility with existing SoundTouch service functionality and meeting the performance requirements for small hardware deployments. \ No newline at end of file +This technical specification provides comprehensive details for implementing the enhanced state management system while maintaining compatibility with existing SoundTouch service functionality and meeting the performance requirements for small hardware deployments.