- Add Add and Del methods to Client for dynamic host management. - Add RWMutex to Client to protect the devices map. - Add Transport to Config to allow mocking HTTP transport in tests. - Add getDeviceByHost helper to centralize device lookup locking. - Refactor GetAll* methods to snapshot host keys before iteration to avoid concurrent map read/write panic. - Add tests for thread safety and Add/Del functionality.
19 lines
341 B
Go
19 lines
341 B
Go
package edgeos
|
|
|
|
import (
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
// Config represents the configuration for an EdgeOS device.
|
|
type Config struct {
|
|
Host string
|
|
Scheme string
|
|
Insecure bool
|
|
Username string
|
|
Password string
|
|
Timeout time.Duration
|
|
// Transport allows customizing the http transport (useful for testing)
|
|
Transport http.RoundTripper
|
|
}
|