| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // Package global provides global variables and interfaces for accessing web and subscription servers.
- package global
- import (
- "context"
- _ "unsafe"
- "github.com/robfig/cron/v3"
- )
- var (
- webServer WebServer
- subServer SubServer
- )
- // WebServer interface defines methods for accessing the web server instance.
- type WebServer interface {
- GetCron() *cron.Cron // Get the cron scheduler
- GetCtx() context.Context // Get the server context
- GetWSHub() interface{} // Get the WebSocket hub (using interface{} to avoid circular dependency)
- }
- // SubServer interface defines methods for accessing the subscription server instance.
- type SubServer interface {
- GetCtx() context.Context // Get the server context
- }
- // SetWebServer sets the global web server instance.
- func SetWebServer(s WebServer) {
- webServer = s
- }
- // GetWebServer returns the global web server instance.
- func GetWebServer() WebServer {
- return webServer
- }
- // SetSubServer sets the global subscription server instance.
- func SetSubServer(s SubServer) {
- subServer = s
- }
- // GetSubServer returns the global subscription server instance.
- func GetSubServer() SubServer {
- return subServer
- }
|