mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			953 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			953 B
		
	
	
	
		
			Go
		
	
	
	
package server
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
 | 
						|
	"github.com/grafana/dskit/services"
 | 
						|
 | 
						|
	"github.com/grafana/grafana/pkg/api"
 | 
						|
	"github.com/grafana/grafana/pkg/setting"
 | 
						|
)
 | 
						|
 | 
						|
type coreService struct {
 | 
						|
	*services.BasicService
 | 
						|
	cfg     *setting.Cfg
 | 
						|
	opts    Options
 | 
						|
	apiOpts api.ServerOptions
 | 
						|
	server  *Server
 | 
						|
}
 | 
						|
 | 
						|
func NewService(cfg *setting.Cfg, opts Options, apiOpts api.ServerOptions) (*coreService, error) {
 | 
						|
	s := &coreService{
 | 
						|
		opts:    opts,
 | 
						|
		apiOpts: apiOpts,
 | 
						|
		cfg:     cfg,
 | 
						|
	}
 | 
						|
	s.BasicService = services.NewBasicService(s.start, s.running, s.stop)
 | 
						|
	return s, nil
 | 
						|
}
 | 
						|
 | 
						|
func (s *coreService) start(_ context.Context) error {
 | 
						|
	serv, err := Initialize(s.cfg, s.opts, s.apiOpts)
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	s.server = serv
 | 
						|
	return s.server.Init()
 | 
						|
}
 | 
						|
 | 
						|
func (s *coreService) running(_ context.Context) error {
 | 
						|
	return s.server.Run()
 | 
						|
}
 | 
						|
 | 
						|
func (s *coreService) stop(failureReason error) error {
 | 
						|
	return s.server.Shutdown(context.Background(), failureReason.Error())
 | 
						|
}
 |