Documentation ¶
Index ¶
- Constants
- type APIServer
- func (srv *APIServer) HandleDashboard(c *gin.Context)
- func (srv *APIServer) HandleDashboardName(c *gin.Context)
- func (srv *APIServer) HandleEvent(c *gin.Context)
- func (srv *APIServer) HandleLog(c *gin.Context)
- func (srv *APIServer) HandleMessage(c *gin.Context)
- func (srv *APIServer) HandleReplicaPost(c *gin.Context)
- func (a *APIServer) Start()
- func (a *APIServer) Stop()
- type DashboardRouter
Constants ¶
const DefaultAddr = "0.0.0.0:7074"
DefaultAddr is the default address of the APIServer
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIServer ¶
type APIServer struct { *types.BaseService // contains filtered or unexported fields }
APIServer runs a HTTP server to receive messages from the replicas and provide an interactive dashboard
func NewAPIServer ¶
func NewAPIServer(ctx *context.RootContext, messageParser types.MessageParser, dashboard DashboardRouter) *APIServer
NewAPIServer instantiates APIServer
func (*APIServer) HandleDashboard ¶
HandleDashboard is the handler for the router `/dashboard`
func (*APIServer) HandleDashboardName ¶
HandleDashboardName is the handler for `/dashboard/name` route of the APIServer
func (*APIServer) HandleEvent ¶
HandleEvent is the handler for the router `/event` . The route is used by replicas to send events to the scheduler
func (*APIServer) HandleLog ¶
HandleLog is the handler for the route `/log` The route is used by replicas to send log messages
func (*APIServer) HandleMessage ¶
HandleMessage is the handler for the route `/message` which is used by replicas to send messages
func (*APIServer) HandleReplicaPost ¶
HandleReplicaPost is the handler for the route `/replica` for a POST request. The route is used by replicas to register and start communicating with the scheduler
type DashboardRouter ¶
type DashboardRouter interface { // Name should return the key for the dashboard type Name() string // SetupRouter should set up the routes for the dashboard SetupRouter(*gin.RouterGroup) }
DashboardRouter for handling routes that are specific to the dashboard. The APIServer will be initialized with an instance of DashboardRouter. The dashboard routes depends on the mode in which the scheduler is run.