diff --git a/.openclaw/memory/srs-codebase-map.md b/.openclaw/memory/srs-codebase-map.md index e7c6988a9..c50f378bf 100644 --- a/.openclaw/memory/srs-codebase-map.md +++ b/.openclaw/memory/srs-codebase-map.md @@ -223,7 +223,7 @@ The next-generation server (`cmd/` + `internal/`) is written in Go and maintaine `internal/logger` — Structured logging with context IDs. Four log levels: Verbose (discarded), Debug (stdout), Warn (stderr), Error (stderr). Emits JSON via `log/slog` with `pid` and `cid` attributes. Each connection/request gets a unique 7-char hex context ID for log correlation, stored in `context.Context`. -`internal/env` — Environment-based configuration. All settings via env vars (or `.env` file parsed by an in-tree custom parser — no third-party dep; supports comments, `export` prefix, quoted values, escape sequences, and inline comments). Exposes an `Environment` interface (with a counterfeiter-generated fake in `envfakes/` for downstream tests) with methods for each config value. Default ports: RTMP=11935, HTTP API=11985, HTTP Stream=18080, WebRTC=18000, SRT=20080, System API=12025. Timeouts: grace=20s, force=30s. Supports Redis config and default backend config for debugging. +`internal/env` — Environment-based configuration. All settings via env vars (or `.env` file parsed by an in-tree custom parser — no third-party dep; supports comments, `export` prefix, quoted values, escape sequences, and inline comments). Exposes a `ProxyEnvironment` interface (with a counterfeiter-generated fake in `envfakes/` for downstream tests) with methods for each config value. Default ports: RTMP=11935, HTTP API=11985, HTTP Stream=18080, WebRTC=18000, SRT=20080, System API=12025. Timeouts: grace=20s, force=30s. Supports Redis config and default backend config for debugging. `internal/version` — Version constants. Signature `SRSX`, version tracks the SRS project version (currently 7.0.x). Used in HTTP API responses and startup logging. diff --git a/internal/bootstrap/proxy.go b/internal/bootstrap/proxy.go index f698abee8..4173670cf 100644 --- a/internal/bootstrap/proxy.go +++ b/internal/bootstrap/proxy.go @@ -50,7 +50,7 @@ func (b *proxyBootstrap) Start(ctx context.Context) error { // It blocks until the context is cancelled. func (b *proxyBootstrap) run(ctx context.Context) error { // Setup the environment variables. - environment, err := env.NewEnvironment(ctx) + environment, err := env.NewProxyEnvironment(ctx) if err != nil { return errors.Wrapf(err, "create environment") } @@ -81,7 +81,7 @@ func (b *proxyBootstrap) run(ctx context.Context) error { } // initializeLoadBalancer sets up the load balancer based on configuration. -func (b *proxyBootstrap) initializeLoadBalancer(ctx context.Context, environment env.Environment) error { +func (b *proxyBootstrap) initializeLoadBalancer(ctx context.Context, environment env.ProxyEnvironment) error { switch environment.LoadBalancerType() { case "redis": lb.SrsLoadBalancer = lb.NewRedisLoadBalancer(environment) @@ -97,7 +97,7 @@ func (b *proxyBootstrap) initializeLoadBalancer(ctx context.Context, environment } // startServers initializes and starts all protocol servers. -func (b *proxyBootstrap) startServers(ctx context.Context, environment env.Environment, gracefulQuitTimeout time.Duration) error { +func (b *proxyBootstrap) startServers(ctx context.Context, environment env.ProxyEnvironment, gracefulQuitTimeout time.Duration) error { // Start the RTMP server. srsRTMPServer := protocol.NewSRSRTMPServer(environment) if err := srsRTMPServer.Run(ctx); err != nil { diff --git a/internal/debug/pprof.go b/internal/debug/pprof.go index bf1c8f063..7142e86fa 100644 --- a/internal/debug/pprof.go +++ b/internal/debug/pprof.go @@ -11,7 +11,7 @@ import ( "srsx/internal/logger" ) -func HandleGoPprof(ctx context.Context, environment env.Environment) { +func HandleGoPprof(ctx context.Context, environment env.ProxyEnvironment) { if addr := environment.GoPprof(); addr != "" { go func() { logger.Df(ctx, "Start Go pprof at %v", addr) diff --git a/internal/env/env.go b/internal/env/env.go index a71b411b8..5d6d88928 100644 --- a/internal/env/env.go +++ b/internal/env/env.go @@ -25,8 +25,8 @@ var ( } ) -// Environment provides access to environment variables. -type Environment interface { +// ProxyEnvironment provides access to proxy environment variables. +type ProxyEnvironment interface { // Go pprof profiling GoPprof() string // Graceful quit timeout @@ -73,102 +73,102 @@ type Environment interface { DefaultBackendSRT() string } -type environment struct{} +type proxyEnvironment struct{} -// NewEnvironment creates a new Environment instance, loading and building default environment variables. -func NewEnvironment(ctx context.Context) (Environment, error) { +// NewProxyEnvironment creates a new ProxyEnvironment instance, loading and building default environment variables. +func NewProxyEnvironment(ctx context.Context) (ProxyEnvironment, error) { if err := loadEnvFile(ctx); err != nil { return nil, err } buildDefaultEnvironmentVariables(ctx) - return &environment{}, nil + return &proxyEnvironment{}, nil } -func (e *environment) GoPprof() string { +func (e *proxyEnvironment) GoPprof() string { return getEnv("GO_PPROF") } -func (e *environment) GraceQuitTimeout() string { +func (e *proxyEnvironment) GraceQuitTimeout() string { return getEnv("PROXY_GRACE_QUIT_TIMEOUT") } -func (e *environment) ForceQuitTimeout() string { +func (e *proxyEnvironment) ForceQuitTimeout() string { return getEnv("PROXY_FORCE_QUIT_TIMEOUT") } -func (e *environment) HttpAPI() string { +func (e *proxyEnvironment) HttpAPI() string { return getEnv("PROXY_HTTP_API") } -func (e *environment) HttpServer() string { +func (e *proxyEnvironment) HttpServer() string { return getEnv("PROXY_HTTP_SERVER") } -func (e *environment) RtmpServer() string { +func (e *proxyEnvironment) RtmpServer() string { return getEnv("PROXY_RTMP_SERVER") } -func (e *environment) WebRTCServer() string { +func (e *proxyEnvironment) WebRTCServer() string { return getEnv("PROXY_WEBRTC_SERVER") } -func (e *environment) SRTServer() string { +func (e *proxyEnvironment) SRTServer() string { return getEnv("PROXY_SRT_SERVER") } -func (e *environment) SystemAPI() string { +func (e *proxyEnvironment) SystemAPI() string { return getEnv("PROXY_SYSTEM_API") } -func (e *environment) StaticFiles() string { +func (e *proxyEnvironment) StaticFiles() string { return getEnv("PROXY_STATIC_FILES") } -func (e *environment) LoadBalancerType() string { +func (e *proxyEnvironment) LoadBalancerType() string { return getEnv("PROXY_LOAD_BALANCER_TYPE") } -func (e *environment) RedisHost() string { +func (e *proxyEnvironment) RedisHost() string { return getEnv("PROXY_REDIS_HOST") } -func (e *environment) RedisPort() string { +func (e *proxyEnvironment) RedisPort() string { return getEnv("PROXY_REDIS_PORT") } -func (e *environment) RedisPassword() string { +func (e *proxyEnvironment) RedisPassword() string { return getEnv("PROXY_REDIS_PASSWORD") } -func (e *environment) RedisDB() string { +func (e *proxyEnvironment) RedisDB() string { return getEnv("PROXY_REDIS_DB") } -func (e *environment) DefaultBackendEnabled() string { +func (e *proxyEnvironment) DefaultBackendEnabled() string { return getEnv("PROXY_DEFAULT_BACKEND_ENABLED") } -func (e *environment) DefaultBackendIP() string { +func (e *proxyEnvironment) DefaultBackendIP() string { return getEnv("PROXY_DEFAULT_BACKEND_IP") } -func (e *environment) DefaultBackendRTMP() string { +func (e *proxyEnvironment) DefaultBackendRTMP() string { return getEnv("PROXY_DEFAULT_BACKEND_RTMP") } -func (e *environment) DefaultBackendHttp() string { +func (e *proxyEnvironment) DefaultBackendHttp() string { return getEnv("PROXY_DEFAULT_BACKEND_HTTP") } -func (e *environment) DefaultBackendAPI() string { +func (e *proxyEnvironment) DefaultBackendAPI() string { return getEnv("PROXY_DEFAULT_BACKEND_API") } -func (e *environment) DefaultBackendRTC() string { +func (e *proxyEnvironment) DefaultBackendRTC() string { return getEnv("PROXY_DEFAULT_BACKEND_RTC") } -func (e *environment) DefaultBackendSRT() string { +func (e *proxyEnvironment) DefaultBackendSRT() string { return getEnv("PROXY_DEFAULT_BACKEND_SRT") } diff --git a/internal/env/env_test.go b/internal/env/env_test.go index 49fa138d9..ad6273dc0 100644 --- a/internal/env/env_test.go +++ b/internal/env/env_test.go @@ -303,7 +303,7 @@ func TestSetEnvDefault_PreservesExisting(t *testing.T) { } } -func TestNewEnvironment_AppliesDefaultsAndAccessors(t *testing.T) { +func TestNewProxyEnvironment_AppliesDefaultsAndAccessors(t *testing.T) { withFakeEnv(t) // No .env file present. withFakeOpen(t, "", os.ErrNotExist) @@ -312,9 +312,9 @@ func TestNewEnvironment_AppliesDefaultsAndAccessors(t *testing.T) { // pre-set it so the accessor has a value to return. setEnv("PROXY_DEFAULT_BACKEND_HTTP", "8080") - env, err := NewEnvironment(context.Background()) + env, err := NewProxyEnvironment(context.Background()) if err != nil { - t.Fatalf("NewEnvironment: %v", err) + t.Fatalf("NewProxyEnvironment: %v", err) } cases := []struct { @@ -352,26 +352,26 @@ func TestNewEnvironment_AppliesDefaultsAndAccessors(t *testing.T) { } } -func TestNewEnvironment_PreservesPreSetValues(t *testing.T) { +func TestNewProxyEnvironment_PreservesPreSetValues(t *testing.T) { withFakeEnv(t) withFakeOpen(t, "", os.ErrNotExist) setEnv("PROXY_HTTP_API", "9999") - env, err := NewEnvironment(context.Background()) + env, err := NewProxyEnvironment(context.Background()) if err != nil { - t.Fatalf("NewEnvironment: %v", err) + t.Fatalf("NewProxyEnvironment: %v", err) } if got := env.HttpAPI(); got != "9999" { t.Errorf("HttpAPI() = %q, want %q", got, "9999") } } -func TestNewEnvironment_LoadEnvFailurePropagates(t *testing.T) { +func TestNewProxyEnvironment_LoadEnvFailurePropagates(t *testing.T) { withFakeEnv(t) sentinel := errors.New("open failed") withFakeOpen(t, "", sentinel) - _, err := NewEnvironment(context.Background()) + _, err := NewProxyEnvironment(context.Background()) if srserrors.Cause(err) != sentinel { t.Errorf("expected wrapped sentinel, got: %v", err) } diff --git a/internal/env/envfakes/fake_environment.go b/internal/env/envfakes/fake_proxy_environment.go similarity index 80% rename from internal/env/envfakes/fake_environment.go rename to internal/env/envfakes/fake_proxy_environment.go index 165ae7a1d..fa39bb2b0 100644 --- a/internal/env/envfakes/fake_environment.go +++ b/internal/env/envfakes/fake_proxy_environment.go @@ -6,7 +6,7 @@ import ( "sync" ) -type FakeEnvironment struct { +type FakeProxyEnvironment struct { DefaultBackendAPIStub func() string defaultBackendAPIMutex sync.RWMutex defaultBackendAPIArgsForCall []struct { @@ -231,7 +231,7 @@ type FakeEnvironment struct { invocationsMutex sync.RWMutex } -func (fake *FakeEnvironment) DefaultBackendAPI() string { +func (fake *FakeProxyEnvironment) DefaultBackendAPI() string { fake.defaultBackendAPIMutex.Lock() ret, specificReturn := fake.defaultBackendAPIReturnsOnCall[len(fake.defaultBackendAPIArgsForCall)] fake.defaultBackendAPIArgsForCall = append(fake.defaultBackendAPIArgsForCall, struct { @@ -249,19 +249,19 @@ func (fake *FakeEnvironment) DefaultBackendAPI() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) DefaultBackendAPICallCount() int { +func (fake *FakeProxyEnvironment) DefaultBackendAPICallCount() int { fake.defaultBackendAPIMutex.RLock() defer fake.defaultBackendAPIMutex.RUnlock() return len(fake.defaultBackendAPIArgsForCall) } -func (fake *FakeEnvironment) DefaultBackendAPICalls(stub func() string) { +func (fake *FakeProxyEnvironment) DefaultBackendAPICalls(stub func() string) { fake.defaultBackendAPIMutex.Lock() defer fake.defaultBackendAPIMutex.Unlock() fake.DefaultBackendAPIStub = stub } -func (fake *FakeEnvironment) DefaultBackendAPIReturns(result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendAPIReturns(result1 string) { fake.defaultBackendAPIMutex.Lock() defer fake.defaultBackendAPIMutex.Unlock() fake.DefaultBackendAPIStub = nil @@ -270,7 +270,7 @@ func (fake *FakeEnvironment) DefaultBackendAPIReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) DefaultBackendAPIReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendAPIReturnsOnCall(i int, result1 string) { fake.defaultBackendAPIMutex.Lock() defer fake.defaultBackendAPIMutex.Unlock() fake.DefaultBackendAPIStub = nil @@ -284,7 +284,7 @@ func (fake *FakeEnvironment) DefaultBackendAPIReturnsOnCall(i int, result1 strin }{result1} } -func (fake *FakeEnvironment) DefaultBackendEnabled() string { +func (fake *FakeProxyEnvironment) DefaultBackendEnabled() string { fake.defaultBackendEnabledMutex.Lock() ret, specificReturn := fake.defaultBackendEnabledReturnsOnCall[len(fake.defaultBackendEnabledArgsForCall)] fake.defaultBackendEnabledArgsForCall = append(fake.defaultBackendEnabledArgsForCall, struct { @@ -302,19 +302,19 @@ func (fake *FakeEnvironment) DefaultBackendEnabled() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) DefaultBackendEnabledCallCount() int { +func (fake *FakeProxyEnvironment) DefaultBackendEnabledCallCount() int { fake.defaultBackendEnabledMutex.RLock() defer fake.defaultBackendEnabledMutex.RUnlock() return len(fake.defaultBackendEnabledArgsForCall) } -func (fake *FakeEnvironment) DefaultBackendEnabledCalls(stub func() string) { +func (fake *FakeProxyEnvironment) DefaultBackendEnabledCalls(stub func() string) { fake.defaultBackendEnabledMutex.Lock() defer fake.defaultBackendEnabledMutex.Unlock() fake.DefaultBackendEnabledStub = stub } -func (fake *FakeEnvironment) DefaultBackendEnabledReturns(result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendEnabledReturns(result1 string) { fake.defaultBackendEnabledMutex.Lock() defer fake.defaultBackendEnabledMutex.Unlock() fake.DefaultBackendEnabledStub = nil @@ -323,7 +323,7 @@ func (fake *FakeEnvironment) DefaultBackendEnabledReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) DefaultBackendEnabledReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendEnabledReturnsOnCall(i int, result1 string) { fake.defaultBackendEnabledMutex.Lock() defer fake.defaultBackendEnabledMutex.Unlock() fake.DefaultBackendEnabledStub = nil @@ -337,7 +337,7 @@ func (fake *FakeEnvironment) DefaultBackendEnabledReturnsOnCall(i int, result1 s }{result1} } -func (fake *FakeEnvironment) DefaultBackendHttp() string { +func (fake *FakeProxyEnvironment) DefaultBackendHttp() string { fake.defaultBackendHttpMutex.Lock() ret, specificReturn := fake.defaultBackendHttpReturnsOnCall[len(fake.defaultBackendHttpArgsForCall)] fake.defaultBackendHttpArgsForCall = append(fake.defaultBackendHttpArgsForCall, struct { @@ -355,19 +355,19 @@ func (fake *FakeEnvironment) DefaultBackendHttp() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) DefaultBackendHttpCallCount() int { +func (fake *FakeProxyEnvironment) DefaultBackendHttpCallCount() int { fake.defaultBackendHttpMutex.RLock() defer fake.defaultBackendHttpMutex.RUnlock() return len(fake.defaultBackendHttpArgsForCall) } -func (fake *FakeEnvironment) DefaultBackendHttpCalls(stub func() string) { +func (fake *FakeProxyEnvironment) DefaultBackendHttpCalls(stub func() string) { fake.defaultBackendHttpMutex.Lock() defer fake.defaultBackendHttpMutex.Unlock() fake.DefaultBackendHttpStub = stub } -func (fake *FakeEnvironment) DefaultBackendHttpReturns(result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendHttpReturns(result1 string) { fake.defaultBackendHttpMutex.Lock() defer fake.defaultBackendHttpMutex.Unlock() fake.DefaultBackendHttpStub = nil @@ -376,7 +376,7 @@ func (fake *FakeEnvironment) DefaultBackendHttpReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) DefaultBackendHttpReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendHttpReturnsOnCall(i int, result1 string) { fake.defaultBackendHttpMutex.Lock() defer fake.defaultBackendHttpMutex.Unlock() fake.DefaultBackendHttpStub = nil @@ -390,7 +390,7 @@ func (fake *FakeEnvironment) DefaultBackendHttpReturnsOnCall(i int, result1 stri }{result1} } -func (fake *FakeEnvironment) DefaultBackendIP() string { +func (fake *FakeProxyEnvironment) DefaultBackendIP() string { fake.defaultBackendIPMutex.Lock() ret, specificReturn := fake.defaultBackendIPReturnsOnCall[len(fake.defaultBackendIPArgsForCall)] fake.defaultBackendIPArgsForCall = append(fake.defaultBackendIPArgsForCall, struct { @@ -408,19 +408,19 @@ func (fake *FakeEnvironment) DefaultBackendIP() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) DefaultBackendIPCallCount() int { +func (fake *FakeProxyEnvironment) DefaultBackendIPCallCount() int { fake.defaultBackendIPMutex.RLock() defer fake.defaultBackendIPMutex.RUnlock() return len(fake.defaultBackendIPArgsForCall) } -func (fake *FakeEnvironment) DefaultBackendIPCalls(stub func() string) { +func (fake *FakeProxyEnvironment) DefaultBackendIPCalls(stub func() string) { fake.defaultBackendIPMutex.Lock() defer fake.defaultBackendIPMutex.Unlock() fake.DefaultBackendIPStub = stub } -func (fake *FakeEnvironment) DefaultBackendIPReturns(result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendIPReturns(result1 string) { fake.defaultBackendIPMutex.Lock() defer fake.defaultBackendIPMutex.Unlock() fake.DefaultBackendIPStub = nil @@ -429,7 +429,7 @@ func (fake *FakeEnvironment) DefaultBackendIPReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) DefaultBackendIPReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendIPReturnsOnCall(i int, result1 string) { fake.defaultBackendIPMutex.Lock() defer fake.defaultBackendIPMutex.Unlock() fake.DefaultBackendIPStub = nil @@ -443,7 +443,7 @@ func (fake *FakeEnvironment) DefaultBackendIPReturnsOnCall(i int, result1 string }{result1} } -func (fake *FakeEnvironment) DefaultBackendRTC() string { +func (fake *FakeProxyEnvironment) DefaultBackendRTC() string { fake.defaultBackendRTCMutex.Lock() ret, specificReturn := fake.defaultBackendRTCReturnsOnCall[len(fake.defaultBackendRTCArgsForCall)] fake.defaultBackendRTCArgsForCall = append(fake.defaultBackendRTCArgsForCall, struct { @@ -461,19 +461,19 @@ func (fake *FakeEnvironment) DefaultBackendRTC() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) DefaultBackendRTCCallCount() int { +func (fake *FakeProxyEnvironment) DefaultBackendRTCCallCount() int { fake.defaultBackendRTCMutex.RLock() defer fake.defaultBackendRTCMutex.RUnlock() return len(fake.defaultBackendRTCArgsForCall) } -func (fake *FakeEnvironment) DefaultBackendRTCCalls(stub func() string) { +func (fake *FakeProxyEnvironment) DefaultBackendRTCCalls(stub func() string) { fake.defaultBackendRTCMutex.Lock() defer fake.defaultBackendRTCMutex.Unlock() fake.DefaultBackendRTCStub = stub } -func (fake *FakeEnvironment) DefaultBackendRTCReturns(result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendRTCReturns(result1 string) { fake.defaultBackendRTCMutex.Lock() defer fake.defaultBackendRTCMutex.Unlock() fake.DefaultBackendRTCStub = nil @@ -482,7 +482,7 @@ func (fake *FakeEnvironment) DefaultBackendRTCReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) DefaultBackendRTCReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendRTCReturnsOnCall(i int, result1 string) { fake.defaultBackendRTCMutex.Lock() defer fake.defaultBackendRTCMutex.Unlock() fake.DefaultBackendRTCStub = nil @@ -496,7 +496,7 @@ func (fake *FakeEnvironment) DefaultBackendRTCReturnsOnCall(i int, result1 strin }{result1} } -func (fake *FakeEnvironment) DefaultBackendRTMP() string { +func (fake *FakeProxyEnvironment) DefaultBackendRTMP() string { fake.defaultBackendRTMPMutex.Lock() ret, specificReturn := fake.defaultBackendRTMPReturnsOnCall[len(fake.defaultBackendRTMPArgsForCall)] fake.defaultBackendRTMPArgsForCall = append(fake.defaultBackendRTMPArgsForCall, struct { @@ -514,19 +514,19 @@ func (fake *FakeEnvironment) DefaultBackendRTMP() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) DefaultBackendRTMPCallCount() int { +func (fake *FakeProxyEnvironment) DefaultBackendRTMPCallCount() int { fake.defaultBackendRTMPMutex.RLock() defer fake.defaultBackendRTMPMutex.RUnlock() return len(fake.defaultBackendRTMPArgsForCall) } -func (fake *FakeEnvironment) DefaultBackendRTMPCalls(stub func() string) { +func (fake *FakeProxyEnvironment) DefaultBackendRTMPCalls(stub func() string) { fake.defaultBackendRTMPMutex.Lock() defer fake.defaultBackendRTMPMutex.Unlock() fake.DefaultBackendRTMPStub = stub } -func (fake *FakeEnvironment) DefaultBackendRTMPReturns(result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendRTMPReturns(result1 string) { fake.defaultBackendRTMPMutex.Lock() defer fake.defaultBackendRTMPMutex.Unlock() fake.DefaultBackendRTMPStub = nil @@ -535,7 +535,7 @@ func (fake *FakeEnvironment) DefaultBackendRTMPReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) DefaultBackendRTMPReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendRTMPReturnsOnCall(i int, result1 string) { fake.defaultBackendRTMPMutex.Lock() defer fake.defaultBackendRTMPMutex.Unlock() fake.DefaultBackendRTMPStub = nil @@ -549,7 +549,7 @@ func (fake *FakeEnvironment) DefaultBackendRTMPReturnsOnCall(i int, result1 stri }{result1} } -func (fake *FakeEnvironment) DefaultBackendSRT() string { +func (fake *FakeProxyEnvironment) DefaultBackendSRT() string { fake.defaultBackendSRTMutex.Lock() ret, specificReturn := fake.defaultBackendSRTReturnsOnCall[len(fake.defaultBackendSRTArgsForCall)] fake.defaultBackendSRTArgsForCall = append(fake.defaultBackendSRTArgsForCall, struct { @@ -567,19 +567,19 @@ func (fake *FakeEnvironment) DefaultBackendSRT() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) DefaultBackendSRTCallCount() int { +func (fake *FakeProxyEnvironment) DefaultBackendSRTCallCount() int { fake.defaultBackendSRTMutex.RLock() defer fake.defaultBackendSRTMutex.RUnlock() return len(fake.defaultBackendSRTArgsForCall) } -func (fake *FakeEnvironment) DefaultBackendSRTCalls(stub func() string) { +func (fake *FakeProxyEnvironment) DefaultBackendSRTCalls(stub func() string) { fake.defaultBackendSRTMutex.Lock() defer fake.defaultBackendSRTMutex.Unlock() fake.DefaultBackendSRTStub = stub } -func (fake *FakeEnvironment) DefaultBackendSRTReturns(result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendSRTReturns(result1 string) { fake.defaultBackendSRTMutex.Lock() defer fake.defaultBackendSRTMutex.Unlock() fake.DefaultBackendSRTStub = nil @@ -588,7 +588,7 @@ func (fake *FakeEnvironment) DefaultBackendSRTReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) DefaultBackendSRTReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) DefaultBackendSRTReturnsOnCall(i int, result1 string) { fake.defaultBackendSRTMutex.Lock() defer fake.defaultBackendSRTMutex.Unlock() fake.DefaultBackendSRTStub = nil @@ -602,7 +602,7 @@ func (fake *FakeEnvironment) DefaultBackendSRTReturnsOnCall(i int, result1 strin }{result1} } -func (fake *FakeEnvironment) ForceQuitTimeout() string { +func (fake *FakeProxyEnvironment) ForceQuitTimeout() string { fake.forceQuitTimeoutMutex.Lock() ret, specificReturn := fake.forceQuitTimeoutReturnsOnCall[len(fake.forceQuitTimeoutArgsForCall)] fake.forceQuitTimeoutArgsForCall = append(fake.forceQuitTimeoutArgsForCall, struct { @@ -620,19 +620,19 @@ func (fake *FakeEnvironment) ForceQuitTimeout() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) ForceQuitTimeoutCallCount() int { +func (fake *FakeProxyEnvironment) ForceQuitTimeoutCallCount() int { fake.forceQuitTimeoutMutex.RLock() defer fake.forceQuitTimeoutMutex.RUnlock() return len(fake.forceQuitTimeoutArgsForCall) } -func (fake *FakeEnvironment) ForceQuitTimeoutCalls(stub func() string) { +func (fake *FakeProxyEnvironment) ForceQuitTimeoutCalls(stub func() string) { fake.forceQuitTimeoutMutex.Lock() defer fake.forceQuitTimeoutMutex.Unlock() fake.ForceQuitTimeoutStub = stub } -func (fake *FakeEnvironment) ForceQuitTimeoutReturns(result1 string) { +func (fake *FakeProxyEnvironment) ForceQuitTimeoutReturns(result1 string) { fake.forceQuitTimeoutMutex.Lock() defer fake.forceQuitTimeoutMutex.Unlock() fake.ForceQuitTimeoutStub = nil @@ -641,7 +641,7 @@ func (fake *FakeEnvironment) ForceQuitTimeoutReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) ForceQuitTimeoutReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) ForceQuitTimeoutReturnsOnCall(i int, result1 string) { fake.forceQuitTimeoutMutex.Lock() defer fake.forceQuitTimeoutMutex.Unlock() fake.ForceQuitTimeoutStub = nil @@ -655,7 +655,7 @@ func (fake *FakeEnvironment) ForceQuitTimeoutReturnsOnCall(i int, result1 string }{result1} } -func (fake *FakeEnvironment) GoPprof() string { +func (fake *FakeProxyEnvironment) GoPprof() string { fake.goPprofMutex.Lock() ret, specificReturn := fake.goPprofReturnsOnCall[len(fake.goPprofArgsForCall)] fake.goPprofArgsForCall = append(fake.goPprofArgsForCall, struct { @@ -673,19 +673,19 @@ func (fake *FakeEnvironment) GoPprof() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) GoPprofCallCount() int { +func (fake *FakeProxyEnvironment) GoPprofCallCount() int { fake.goPprofMutex.RLock() defer fake.goPprofMutex.RUnlock() return len(fake.goPprofArgsForCall) } -func (fake *FakeEnvironment) GoPprofCalls(stub func() string) { +func (fake *FakeProxyEnvironment) GoPprofCalls(stub func() string) { fake.goPprofMutex.Lock() defer fake.goPprofMutex.Unlock() fake.GoPprofStub = stub } -func (fake *FakeEnvironment) GoPprofReturns(result1 string) { +func (fake *FakeProxyEnvironment) GoPprofReturns(result1 string) { fake.goPprofMutex.Lock() defer fake.goPprofMutex.Unlock() fake.GoPprofStub = nil @@ -694,7 +694,7 @@ func (fake *FakeEnvironment) GoPprofReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) GoPprofReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) GoPprofReturnsOnCall(i int, result1 string) { fake.goPprofMutex.Lock() defer fake.goPprofMutex.Unlock() fake.GoPprofStub = nil @@ -708,7 +708,7 @@ func (fake *FakeEnvironment) GoPprofReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) GraceQuitTimeout() string { +func (fake *FakeProxyEnvironment) GraceQuitTimeout() string { fake.graceQuitTimeoutMutex.Lock() ret, specificReturn := fake.graceQuitTimeoutReturnsOnCall[len(fake.graceQuitTimeoutArgsForCall)] fake.graceQuitTimeoutArgsForCall = append(fake.graceQuitTimeoutArgsForCall, struct { @@ -726,19 +726,19 @@ func (fake *FakeEnvironment) GraceQuitTimeout() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) GraceQuitTimeoutCallCount() int { +func (fake *FakeProxyEnvironment) GraceQuitTimeoutCallCount() int { fake.graceQuitTimeoutMutex.RLock() defer fake.graceQuitTimeoutMutex.RUnlock() return len(fake.graceQuitTimeoutArgsForCall) } -func (fake *FakeEnvironment) GraceQuitTimeoutCalls(stub func() string) { +func (fake *FakeProxyEnvironment) GraceQuitTimeoutCalls(stub func() string) { fake.graceQuitTimeoutMutex.Lock() defer fake.graceQuitTimeoutMutex.Unlock() fake.GraceQuitTimeoutStub = stub } -func (fake *FakeEnvironment) GraceQuitTimeoutReturns(result1 string) { +func (fake *FakeProxyEnvironment) GraceQuitTimeoutReturns(result1 string) { fake.graceQuitTimeoutMutex.Lock() defer fake.graceQuitTimeoutMutex.Unlock() fake.GraceQuitTimeoutStub = nil @@ -747,7 +747,7 @@ func (fake *FakeEnvironment) GraceQuitTimeoutReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) GraceQuitTimeoutReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) GraceQuitTimeoutReturnsOnCall(i int, result1 string) { fake.graceQuitTimeoutMutex.Lock() defer fake.graceQuitTimeoutMutex.Unlock() fake.GraceQuitTimeoutStub = nil @@ -761,7 +761,7 @@ func (fake *FakeEnvironment) GraceQuitTimeoutReturnsOnCall(i int, result1 string }{result1} } -func (fake *FakeEnvironment) HttpAPI() string { +func (fake *FakeProxyEnvironment) HttpAPI() string { fake.httpAPIMutex.Lock() ret, specificReturn := fake.httpAPIReturnsOnCall[len(fake.httpAPIArgsForCall)] fake.httpAPIArgsForCall = append(fake.httpAPIArgsForCall, struct { @@ -779,19 +779,19 @@ func (fake *FakeEnvironment) HttpAPI() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) HttpAPICallCount() int { +func (fake *FakeProxyEnvironment) HttpAPICallCount() int { fake.httpAPIMutex.RLock() defer fake.httpAPIMutex.RUnlock() return len(fake.httpAPIArgsForCall) } -func (fake *FakeEnvironment) HttpAPICalls(stub func() string) { +func (fake *FakeProxyEnvironment) HttpAPICalls(stub func() string) { fake.httpAPIMutex.Lock() defer fake.httpAPIMutex.Unlock() fake.HttpAPIStub = stub } -func (fake *FakeEnvironment) HttpAPIReturns(result1 string) { +func (fake *FakeProxyEnvironment) HttpAPIReturns(result1 string) { fake.httpAPIMutex.Lock() defer fake.httpAPIMutex.Unlock() fake.HttpAPIStub = nil @@ -800,7 +800,7 @@ func (fake *FakeEnvironment) HttpAPIReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) HttpAPIReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) HttpAPIReturnsOnCall(i int, result1 string) { fake.httpAPIMutex.Lock() defer fake.httpAPIMutex.Unlock() fake.HttpAPIStub = nil @@ -814,7 +814,7 @@ func (fake *FakeEnvironment) HttpAPIReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) HttpServer() string { +func (fake *FakeProxyEnvironment) HttpServer() string { fake.httpServerMutex.Lock() ret, specificReturn := fake.httpServerReturnsOnCall[len(fake.httpServerArgsForCall)] fake.httpServerArgsForCall = append(fake.httpServerArgsForCall, struct { @@ -832,19 +832,19 @@ func (fake *FakeEnvironment) HttpServer() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) HttpServerCallCount() int { +func (fake *FakeProxyEnvironment) HttpServerCallCount() int { fake.httpServerMutex.RLock() defer fake.httpServerMutex.RUnlock() return len(fake.httpServerArgsForCall) } -func (fake *FakeEnvironment) HttpServerCalls(stub func() string) { +func (fake *FakeProxyEnvironment) HttpServerCalls(stub func() string) { fake.httpServerMutex.Lock() defer fake.httpServerMutex.Unlock() fake.HttpServerStub = stub } -func (fake *FakeEnvironment) HttpServerReturns(result1 string) { +func (fake *FakeProxyEnvironment) HttpServerReturns(result1 string) { fake.httpServerMutex.Lock() defer fake.httpServerMutex.Unlock() fake.HttpServerStub = nil @@ -853,7 +853,7 @@ func (fake *FakeEnvironment) HttpServerReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) HttpServerReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) HttpServerReturnsOnCall(i int, result1 string) { fake.httpServerMutex.Lock() defer fake.httpServerMutex.Unlock() fake.HttpServerStub = nil @@ -867,7 +867,7 @@ func (fake *FakeEnvironment) HttpServerReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) LoadBalancerType() string { +func (fake *FakeProxyEnvironment) LoadBalancerType() string { fake.loadBalancerTypeMutex.Lock() ret, specificReturn := fake.loadBalancerTypeReturnsOnCall[len(fake.loadBalancerTypeArgsForCall)] fake.loadBalancerTypeArgsForCall = append(fake.loadBalancerTypeArgsForCall, struct { @@ -885,19 +885,19 @@ func (fake *FakeEnvironment) LoadBalancerType() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) LoadBalancerTypeCallCount() int { +func (fake *FakeProxyEnvironment) LoadBalancerTypeCallCount() int { fake.loadBalancerTypeMutex.RLock() defer fake.loadBalancerTypeMutex.RUnlock() return len(fake.loadBalancerTypeArgsForCall) } -func (fake *FakeEnvironment) LoadBalancerTypeCalls(stub func() string) { +func (fake *FakeProxyEnvironment) LoadBalancerTypeCalls(stub func() string) { fake.loadBalancerTypeMutex.Lock() defer fake.loadBalancerTypeMutex.Unlock() fake.LoadBalancerTypeStub = stub } -func (fake *FakeEnvironment) LoadBalancerTypeReturns(result1 string) { +func (fake *FakeProxyEnvironment) LoadBalancerTypeReturns(result1 string) { fake.loadBalancerTypeMutex.Lock() defer fake.loadBalancerTypeMutex.Unlock() fake.LoadBalancerTypeStub = nil @@ -906,7 +906,7 @@ func (fake *FakeEnvironment) LoadBalancerTypeReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) LoadBalancerTypeReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) LoadBalancerTypeReturnsOnCall(i int, result1 string) { fake.loadBalancerTypeMutex.Lock() defer fake.loadBalancerTypeMutex.Unlock() fake.LoadBalancerTypeStub = nil @@ -920,7 +920,7 @@ func (fake *FakeEnvironment) LoadBalancerTypeReturnsOnCall(i int, result1 string }{result1} } -func (fake *FakeEnvironment) RedisDB() string { +func (fake *FakeProxyEnvironment) RedisDB() string { fake.redisDBMutex.Lock() ret, specificReturn := fake.redisDBReturnsOnCall[len(fake.redisDBArgsForCall)] fake.redisDBArgsForCall = append(fake.redisDBArgsForCall, struct { @@ -938,19 +938,19 @@ func (fake *FakeEnvironment) RedisDB() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) RedisDBCallCount() int { +func (fake *FakeProxyEnvironment) RedisDBCallCount() int { fake.redisDBMutex.RLock() defer fake.redisDBMutex.RUnlock() return len(fake.redisDBArgsForCall) } -func (fake *FakeEnvironment) RedisDBCalls(stub func() string) { +func (fake *FakeProxyEnvironment) RedisDBCalls(stub func() string) { fake.redisDBMutex.Lock() defer fake.redisDBMutex.Unlock() fake.RedisDBStub = stub } -func (fake *FakeEnvironment) RedisDBReturns(result1 string) { +func (fake *FakeProxyEnvironment) RedisDBReturns(result1 string) { fake.redisDBMutex.Lock() defer fake.redisDBMutex.Unlock() fake.RedisDBStub = nil @@ -959,7 +959,7 @@ func (fake *FakeEnvironment) RedisDBReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) RedisDBReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) RedisDBReturnsOnCall(i int, result1 string) { fake.redisDBMutex.Lock() defer fake.redisDBMutex.Unlock() fake.RedisDBStub = nil @@ -973,7 +973,7 @@ func (fake *FakeEnvironment) RedisDBReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) RedisHost() string { +func (fake *FakeProxyEnvironment) RedisHost() string { fake.redisHostMutex.Lock() ret, specificReturn := fake.redisHostReturnsOnCall[len(fake.redisHostArgsForCall)] fake.redisHostArgsForCall = append(fake.redisHostArgsForCall, struct { @@ -991,19 +991,19 @@ func (fake *FakeEnvironment) RedisHost() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) RedisHostCallCount() int { +func (fake *FakeProxyEnvironment) RedisHostCallCount() int { fake.redisHostMutex.RLock() defer fake.redisHostMutex.RUnlock() return len(fake.redisHostArgsForCall) } -func (fake *FakeEnvironment) RedisHostCalls(stub func() string) { +func (fake *FakeProxyEnvironment) RedisHostCalls(stub func() string) { fake.redisHostMutex.Lock() defer fake.redisHostMutex.Unlock() fake.RedisHostStub = stub } -func (fake *FakeEnvironment) RedisHostReturns(result1 string) { +func (fake *FakeProxyEnvironment) RedisHostReturns(result1 string) { fake.redisHostMutex.Lock() defer fake.redisHostMutex.Unlock() fake.RedisHostStub = nil @@ -1012,7 +1012,7 @@ func (fake *FakeEnvironment) RedisHostReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) RedisHostReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) RedisHostReturnsOnCall(i int, result1 string) { fake.redisHostMutex.Lock() defer fake.redisHostMutex.Unlock() fake.RedisHostStub = nil @@ -1026,7 +1026,7 @@ func (fake *FakeEnvironment) RedisHostReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) RedisPassword() string { +func (fake *FakeProxyEnvironment) RedisPassword() string { fake.redisPasswordMutex.Lock() ret, specificReturn := fake.redisPasswordReturnsOnCall[len(fake.redisPasswordArgsForCall)] fake.redisPasswordArgsForCall = append(fake.redisPasswordArgsForCall, struct { @@ -1044,19 +1044,19 @@ func (fake *FakeEnvironment) RedisPassword() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) RedisPasswordCallCount() int { +func (fake *FakeProxyEnvironment) RedisPasswordCallCount() int { fake.redisPasswordMutex.RLock() defer fake.redisPasswordMutex.RUnlock() return len(fake.redisPasswordArgsForCall) } -func (fake *FakeEnvironment) RedisPasswordCalls(stub func() string) { +func (fake *FakeProxyEnvironment) RedisPasswordCalls(stub func() string) { fake.redisPasswordMutex.Lock() defer fake.redisPasswordMutex.Unlock() fake.RedisPasswordStub = stub } -func (fake *FakeEnvironment) RedisPasswordReturns(result1 string) { +func (fake *FakeProxyEnvironment) RedisPasswordReturns(result1 string) { fake.redisPasswordMutex.Lock() defer fake.redisPasswordMutex.Unlock() fake.RedisPasswordStub = nil @@ -1065,7 +1065,7 @@ func (fake *FakeEnvironment) RedisPasswordReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) RedisPasswordReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) RedisPasswordReturnsOnCall(i int, result1 string) { fake.redisPasswordMutex.Lock() defer fake.redisPasswordMutex.Unlock() fake.RedisPasswordStub = nil @@ -1079,7 +1079,7 @@ func (fake *FakeEnvironment) RedisPasswordReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) RedisPort() string { +func (fake *FakeProxyEnvironment) RedisPort() string { fake.redisPortMutex.Lock() ret, specificReturn := fake.redisPortReturnsOnCall[len(fake.redisPortArgsForCall)] fake.redisPortArgsForCall = append(fake.redisPortArgsForCall, struct { @@ -1097,19 +1097,19 @@ func (fake *FakeEnvironment) RedisPort() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) RedisPortCallCount() int { +func (fake *FakeProxyEnvironment) RedisPortCallCount() int { fake.redisPortMutex.RLock() defer fake.redisPortMutex.RUnlock() return len(fake.redisPortArgsForCall) } -func (fake *FakeEnvironment) RedisPortCalls(stub func() string) { +func (fake *FakeProxyEnvironment) RedisPortCalls(stub func() string) { fake.redisPortMutex.Lock() defer fake.redisPortMutex.Unlock() fake.RedisPortStub = stub } -func (fake *FakeEnvironment) RedisPortReturns(result1 string) { +func (fake *FakeProxyEnvironment) RedisPortReturns(result1 string) { fake.redisPortMutex.Lock() defer fake.redisPortMutex.Unlock() fake.RedisPortStub = nil @@ -1118,7 +1118,7 @@ func (fake *FakeEnvironment) RedisPortReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) RedisPortReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) RedisPortReturnsOnCall(i int, result1 string) { fake.redisPortMutex.Lock() defer fake.redisPortMutex.Unlock() fake.RedisPortStub = nil @@ -1132,7 +1132,7 @@ func (fake *FakeEnvironment) RedisPortReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) RtmpServer() string { +func (fake *FakeProxyEnvironment) RtmpServer() string { fake.rtmpServerMutex.Lock() ret, specificReturn := fake.rtmpServerReturnsOnCall[len(fake.rtmpServerArgsForCall)] fake.rtmpServerArgsForCall = append(fake.rtmpServerArgsForCall, struct { @@ -1150,19 +1150,19 @@ func (fake *FakeEnvironment) RtmpServer() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) RtmpServerCallCount() int { +func (fake *FakeProxyEnvironment) RtmpServerCallCount() int { fake.rtmpServerMutex.RLock() defer fake.rtmpServerMutex.RUnlock() return len(fake.rtmpServerArgsForCall) } -func (fake *FakeEnvironment) RtmpServerCalls(stub func() string) { +func (fake *FakeProxyEnvironment) RtmpServerCalls(stub func() string) { fake.rtmpServerMutex.Lock() defer fake.rtmpServerMutex.Unlock() fake.RtmpServerStub = stub } -func (fake *FakeEnvironment) RtmpServerReturns(result1 string) { +func (fake *FakeProxyEnvironment) RtmpServerReturns(result1 string) { fake.rtmpServerMutex.Lock() defer fake.rtmpServerMutex.Unlock() fake.RtmpServerStub = nil @@ -1171,7 +1171,7 @@ func (fake *FakeEnvironment) RtmpServerReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) RtmpServerReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) RtmpServerReturnsOnCall(i int, result1 string) { fake.rtmpServerMutex.Lock() defer fake.rtmpServerMutex.Unlock() fake.RtmpServerStub = nil @@ -1185,7 +1185,7 @@ func (fake *FakeEnvironment) RtmpServerReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) SRTServer() string { +func (fake *FakeProxyEnvironment) SRTServer() string { fake.sRTServerMutex.Lock() ret, specificReturn := fake.sRTServerReturnsOnCall[len(fake.sRTServerArgsForCall)] fake.sRTServerArgsForCall = append(fake.sRTServerArgsForCall, struct { @@ -1203,19 +1203,19 @@ func (fake *FakeEnvironment) SRTServer() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) SRTServerCallCount() int { +func (fake *FakeProxyEnvironment) SRTServerCallCount() int { fake.sRTServerMutex.RLock() defer fake.sRTServerMutex.RUnlock() return len(fake.sRTServerArgsForCall) } -func (fake *FakeEnvironment) SRTServerCalls(stub func() string) { +func (fake *FakeProxyEnvironment) SRTServerCalls(stub func() string) { fake.sRTServerMutex.Lock() defer fake.sRTServerMutex.Unlock() fake.SRTServerStub = stub } -func (fake *FakeEnvironment) SRTServerReturns(result1 string) { +func (fake *FakeProxyEnvironment) SRTServerReturns(result1 string) { fake.sRTServerMutex.Lock() defer fake.sRTServerMutex.Unlock() fake.SRTServerStub = nil @@ -1224,7 +1224,7 @@ func (fake *FakeEnvironment) SRTServerReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) SRTServerReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) SRTServerReturnsOnCall(i int, result1 string) { fake.sRTServerMutex.Lock() defer fake.sRTServerMutex.Unlock() fake.SRTServerStub = nil @@ -1238,7 +1238,7 @@ func (fake *FakeEnvironment) SRTServerReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) StaticFiles() string { +func (fake *FakeProxyEnvironment) StaticFiles() string { fake.staticFilesMutex.Lock() ret, specificReturn := fake.staticFilesReturnsOnCall[len(fake.staticFilesArgsForCall)] fake.staticFilesArgsForCall = append(fake.staticFilesArgsForCall, struct { @@ -1256,19 +1256,19 @@ func (fake *FakeEnvironment) StaticFiles() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) StaticFilesCallCount() int { +func (fake *FakeProxyEnvironment) StaticFilesCallCount() int { fake.staticFilesMutex.RLock() defer fake.staticFilesMutex.RUnlock() return len(fake.staticFilesArgsForCall) } -func (fake *FakeEnvironment) StaticFilesCalls(stub func() string) { +func (fake *FakeProxyEnvironment) StaticFilesCalls(stub func() string) { fake.staticFilesMutex.Lock() defer fake.staticFilesMutex.Unlock() fake.StaticFilesStub = stub } -func (fake *FakeEnvironment) StaticFilesReturns(result1 string) { +func (fake *FakeProxyEnvironment) StaticFilesReturns(result1 string) { fake.staticFilesMutex.Lock() defer fake.staticFilesMutex.Unlock() fake.StaticFilesStub = nil @@ -1277,7 +1277,7 @@ func (fake *FakeEnvironment) StaticFilesReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) StaticFilesReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) StaticFilesReturnsOnCall(i int, result1 string) { fake.staticFilesMutex.Lock() defer fake.staticFilesMutex.Unlock() fake.StaticFilesStub = nil @@ -1291,7 +1291,7 @@ func (fake *FakeEnvironment) StaticFilesReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) SystemAPI() string { +func (fake *FakeProxyEnvironment) SystemAPI() string { fake.systemAPIMutex.Lock() ret, specificReturn := fake.systemAPIReturnsOnCall[len(fake.systemAPIArgsForCall)] fake.systemAPIArgsForCall = append(fake.systemAPIArgsForCall, struct { @@ -1309,19 +1309,19 @@ func (fake *FakeEnvironment) SystemAPI() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) SystemAPICallCount() int { +func (fake *FakeProxyEnvironment) SystemAPICallCount() int { fake.systemAPIMutex.RLock() defer fake.systemAPIMutex.RUnlock() return len(fake.systemAPIArgsForCall) } -func (fake *FakeEnvironment) SystemAPICalls(stub func() string) { +func (fake *FakeProxyEnvironment) SystemAPICalls(stub func() string) { fake.systemAPIMutex.Lock() defer fake.systemAPIMutex.Unlock() fake.SystemAPIStub = stub } -func (fake *FakeEnvironment) SystemAPIReturns(result1 string) { +func (fake *FakeProxyEnvironment) SystemAPIReturns(result1 string) { fake.systemAPIMutex.Lock() defer fake.systemAPIMutex.Unlock() fake.SystemAPIStub = nil @@ -1330,7 +1330,7 @@ func (fake *FakeEnvironment) SystemAPIReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) SystemAPIReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) SystemAPIReturnsOnCall(i int, result1 string) { fake.systemAPIMutex.Lock() defer fake.systemAPIMutex.Unlock() fake.SystemAPIStub = nil @@ -1344,7 +1344,7 @@ func (fake *FakeEnvironment) SystemAPIReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) WebRTCServer() string { +func (fake *FakeProxyEnvironment) WebRTCServer() string { fake.webRTCServerMutex.Lock() ret, specificReturn := fake.webRTCServerReturnsOnCall[len(fake.webRTCServerArgsForCall)] fake.webRTCServerArgsForCall = append(fake.webRTCServerArgsForCall, struct { @@ -1362,19 +1362,19 @@ func (fake *FakeEnvironment) WebRTCServer() string { return fakeReturns.result1 } -func (fake *FakeEnvironment) WebRTCServerCallCount() int { +func (fake *FakeProxyEnvironment) WebRTCServerCallCount() int { fake.webRTCServerMutex.RLock() defer fake.webRTCServerMutex.RUnlock() return len(fake.webRTCServerArgsForCall) } -func (fake *FakeEnvironment) WebRTCServerCalls(stub func() string) { +func (fake *FakeProxyEnvironment) WebRTCServerCalls(stub func() string) { fake.webRTCServerMutex.Lock() defer fake.webRTCServerMutex.Unlock() fake.WebRTCServerStub = stub } -func (fake *FakeEnvironment) WebRTCServerReturns(result1 string) { +func (fake *FakeProxyEnvironment) WebRTCServerReturns(result1 string) { fake.webRTCServerMutex.Lock() defer fake.webRTCServerMutex.Unlock() fake.WebRTCServerStub = nil @@ -1383,7 +1383,7 @@ func (fake *FakeEnvironment) WebRTCServerReturns(result1 string) { }{result1} } -func (fake *FakeEnvironment) WebRTCServerReturnsOnCall(i int, result1 string) { +func (fake *FakeProxyEnvironment) WebRTCServerReturnsOnCall(i int, result1 string) { fake.webRTCServerMutex.Lock() defer fake.webRTCServerMutex.Unlock() fake.WebRTCServerStub = nil @@ -1397,7 +1397,7 @@ func (fake *FakeEnvironment) WebRTCServerReturnsOnCall(i int, result1 string) { }{result1} } -func (fake *FakeEnvironment) Invocations() map[string][][]interface{} { +func (fake *FakeProxyEnvironment) Invocations() map[string][][]interface{} { fake.invocationsMutex.RLock() defer fake.invocationsMutex.RUnlock() copiedInvocations := map[string][][]interface{}{} @@ -1407,7 +1407,7 @@ func (fake *FakeEnvironment) Invocations() map[string][][]interface{} { return copiedInvocations } -func (fake *FakeEnvironment) recordInvocation(key string, args []interface{}) { +func (fake *FakeProxyEnvironment) recordInvocation(key string, args []interface{}) { fake.invocationsMutex.Lock() defer fake.invocationsMutex.Unlock() if fake.invocations == nil { @@ -1419,4 +1419,4 @@ func (fake *FakeEnvironment) recordInvocation(key string, args []interface{}) { fake.invocations[key] = append(fake.invocations[key], args) } -var _ env.Environment = new(FakeEnvironment) +var _ env.ProxyEnvironment = new(FakeProxyEnvironment) diff --git a/internal/env/gen.go b/internal/env/gen.go index 107eee7d2..8d51c6c1f 100644 --- a/internal/env/gen.go +++ b/internal/env/gen.go @@ -3,4 +3,4 @@ // SPDX-License-Identifier: MIT package env -//go:generate go tool counterfeiter -o envfakes/fake_environment.go . Environment +//go:generate go tool counterfeiter -o envfakes/fake_proxy_environment.go . ProxyEnvironment diff --git a/internal/lb/debug.go b/internal/lb/debug.go index 8d9457a7e..9dab03d82 100644 --- a/internal/lb/debug.go +++ b/internal/lb/debug.go @@ -13,7 +13,7 @@ import ( ) // NewDefaultSRSForDebugging initialize the default SRS media server, for debugging only. -func NewDefaultSRSForDebugging(environment env.Environment) (*SRSServer, error) { +func NewDefaultSRSForDebugging(environment env.ProxyEnvironment) (*SRSServer, error) { if environment.DefaultBackendEnabled() != "on" { return nil, nil } diff --git a/internal/lb/mem.go b/internal/lb/mem.go index 8fe3602a5..6b4389315 100644 --- a/internal/lb/mem.go +++ b/internal/lb/mem.go @@ -18,7 +18,7 @@ import ( // MemoryLoadBalancer stores state in memory. type MemoryLoadBalancer struct { // The environment interface. - environment env.Environment + environment env.ProxyEnvironment // All available SRS servers, key is server ID. servers sync.Map[string, *SRSServer] // The picked server to service client by specified stream URL, key is stream url. @@ -34,7 +34,7 @@ type MemoryLoadBalancer struct { } // NewMemoryLoadBalancer creates a new memory-based load balancer. -func NewMemoryLoadBalancer(environment env.Environment) SRSLoadBalancer { +func NewMemoryLoadBalancer(environment env.ProxyEnvironment) SRSLoadBalancer { return &MemoryLoadBalancer{ environment: environment, servers: sync.NewMap[string, *SRSServer](), diff --git a/internal/lb/redis.go b/internal/lb/redis.go index fa1567b75..26395f5d6 100644 --- a/internal/lb/redis.go +++ b/internal/lb/redis.go @@ -22,13 +22,13 @@ import ( // RedisLoadBalancer stores state in Redis. type RedisLoadBalancer struct { // The environment interface. - environment env.Environment + environment env.ProxyEnvironment // The redis client sdk. rdb *redis.Client } // NewRedisLoadBalancer creates a new Redis-based load balancer. -func NewRedisLoadBalancer(environment env.Environment) SRSLoadBalancer { +func NewRedisLoadBalancer(environment env.ProxyEnvironment) SRSLoadBalancer { return &RedisLoadBalancer{ environment: environment, } diff --git a/internal/protocol/api.go b/internal/protocol/api.go index 4309d6084..3a013493f 100644 --- a/internal/protocol/api.go +++ b/internal/protocol/api.go @@ -24,7 +24,7 @@ import ( // to proxy other HTTP API of SRS like the streams and clients, etc. type srsHTTPAPIServer struct { // The environment interface. - environment env.Environment + environment env.ProxyEnvironment // The underlayer HTTP server. server *http.Server // The WebRTC server. @@ -35,7 +35,7 @@ type srsHTTPAPIServer struct { wg sync.WaitGroup } -func NewSRSHTTPAPIServer(environment env.Environment, gracefulQuitTimeout time.Duration, rtc *srsWebRTCServer) *srsHTTPAPIServer { +func NewSRSHTTPAPIServer(environment env.ProxyEnvironment, gracefulQuitTimeout time.Duration, rtc *srsWebRTCServer) *srsHTTPAPIServer { v := &srsHTTPAPIServer{ environment: environment, gracefulQuitTimeout: gracefulQuitTimeout, @@ -127,7 +127,7 @@ func (v *srsHTTPAPIServer) Run(ctx context.Context) error { // for Prometheus metrics. type systemAPI struct { // The environment interface. - environment env.Environment + environment env.ProxyEnvironment // The underlayer HTTP server. server *http.Server // The gracefully quit timeout, wait server to quit. @@ -136,7 +136,7 @@ type systemAPI struct { wg sync.WaitGroup } -func NewSystemAPI(environment env.Environment, gracefulQuitTimeout time.Duration) *systemAPI { +func NewSystemAPI(environment env.ProxyEnvironment, gracefulQuitTimeout time.Duration) *systemAPI { v := &systemAPI{ environment: environment, gracefulQuitTimeout: gracefulQuitTimeout, diff --git a/internal/protocol/http.go b/internal/protocol/http.go index 08470eff5..9112a573f 100644 --- a/internal/protocol/http.go +++ b/internal/protocol/http.go @@ -28,7 +28,7 @@ import ( // the request to the origin server. type srsHTTPStreamServer struct { // The environment interface. - environment env.Environment + environment env.ProxyEnvironment // The underlayer HTTP server. server *http.Server // The gracefully quit timeout, wait server to quit. @@ -37,7 +37,7 @@ type srsHTTPStreamServer struct { wg stdSync.WaitGroup } -func NewSRSHTTPStreamServer(environment env.Environment, gracefulQuitTimeout time.Duration) *srsHTTPStreamServer { +func NewSRSHTTPStreamServer(environment env.ProxyEnvironment, gracefulQuitTimeout time.Duration) *srsHTTPStreamServer { v := &srsHTTPStreamServer{ environment: environment, gracefulQuitTimeout: gracefulQuitTimeout, diff --git a/internal/protocol/rtc.go b/internal/protocol/rtc.go index add8bdf00..22a6b6e0c 100644 --- a/internal/protocol/rtc.go +++ b/internal/protocol/rtc.go @@ -28,7 +28,7 @@ import ( // SDP answer. type srsWebRTCServer struct { // The environment interface. - environment env.Environment + environment env.ProxyEnvironment // The UDP listener for WebRTC server. listener *net.UDPConn @@ -44,7 +44,7 @@ type srsWebRTCServer struct { wg stdSync.WaitGroup } -func NewSRSWebRTCServer(environment env.Environment, opts ...func(*srsWebRTCServer)) *srsWebRTCServer { +func NewSRSWebRTCServer(environment env.ProxyEnvironment, opts ...func(*srsWebRTCServer)) *srsWebRTCServer { v := &srsWebRTCServer{ environment: environment, usernames: sync.NewMap[string, *RTCConnection](), diff --git a/internal/protocol/rtmp.go b/internal/protocol/rtmp.go index ec4c1ccec..978335034 100644 --- a/internal/protocol/rtmp.go +++ b/internal/protocol/rtmp.go @@ -25,14 +25,14 @@ import ( // not cache the stream, but just proxy the stream to backend. type srsRTMPServer struct { // The environment interface. - environment env.Environment + environment env.ProxyEnvironment // The TCP listener for RTMP server. listener *net.TCPListener // The wait group for all goroutines. wg sync.WaitGroup } -func NewSRSRTMPServer(environment env.Environment, opts ...func(*srsRTMPServer)) *srsRTMPServer { +func NewSRSRTMPServer(environment env.ProxyEnvironment, opts ...func(*srsRTMPServer)) *srsRTMPServer { v := &srsRTMPServer{environment: environment} for _, opt := range opts { opt(v) diff --git a/internal/protocol/srt.go b/internal/protocol/srt.go index ced994ef6..e6a877620 100644 --- a/internal/protocol/srt.go +++ b/internal/protocol/srt.go @@ -26,7 +26,7 @@ import ( // backend server. type srsSRTServer struct { // The environment interface. - environment env.Environment + environment env.ProxyEnvironment // The UDP listener for SRT server. listener *net.UDPConn @@ -39,7 +39,7 @@ type srsSRTServer struct { wg stdSync.WaitGroup } -func NewSRSSRTServer(environment env.Environment, opts ...func(*srsSRTServer)) *srsSRTServer { +func NewSRSSRTServer(environment env.ProxyEnvironment, opts ...func(*srsSRTServer)) *srsSRTServer { v := &srsSRTServer{ environment: environment, start: time.Now(), diff --git a/internal/signal/signal.go b/internal/signal/signal.go index c794ec8bb..37855e4aa 100644 --- a/internal/signal/signal.go +++ b/internal/signal/signal.go @@ -33,7 +33,7 @@ func InstallSignals(ctx context.Context, cancel context.CancelFunc) { }() } -func InstallForceQuit(ctx context.Context, environment env.Environment) error { +func InstallForceQuit(ctx context.Context, environment env.ProxyEnvironment) error { var forceTimeout time.Duration timeoutStr := environment.ForceQuitTimeout() if t, err := time.ParseDuration(timeoutStr); err != nil { diff --git a/internal/signal/signal_test.go b/internal/signal/signal_test.go index 207f78aee..ea3fac252 100644 --- a/internal/signal/signal_test.go +++ b/internal/signal/signal_test.go @@ -102,7 +102,7 @@ func TestInstallSignals_HandlesRepeatedSignals(t *testing.T) { } func TestInstallForceQuit_InvalidDurationReturnsError(t *testing.T) { - fakeEnv := &envfakes.FakeEnvironment{} + fakeEnv := &envfakes.FakeProxyEnvironment{} fakeEnv.ForceQuitTimeoutReturns("not-a-duration") err := InstallForceQuit(t.Context(), fakeEnv) @@ -121,7 +121,7 @@ func TestInstallForceQuit_ExitsAfterTimeout(t *testing.T) { called, done, restore := swapExit(t) defer restore() - fakeEnv := &envfakes.FakeEnvironment{} + fakeEnv := &envfakes.FakeProxyEnvironment{} fakeEnv.ForceQuitTimeoutReturns("1ms") ctx, cancel := context.WithCancel(t.Context()) @@ -149,7 +149,7 @@ func TestInstallForceQuit_WaitsForCancelBeforeSleeping(t *testing.T) { called, done, restore := swapExit(t) defer restore() - fakeEnv := &envfakes.FakeEnvironment{} + fakeEnv := &envfakes.FakeProxyEnvironment{} fakeEnv.ForceQuitTimeoutReturns("10ms") // Intentionally use a never-canceled context and leak the goroutine: