server

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2018 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Node

func Node(cfg config.ServerConfig) (*pbc.Node, error)

TODO: this is dup in both agent and central

Types

type Beater

type Beater struct {
	// contains filtered or unexported fields
}

Beater keep posting the server about agent state and retrieve job status

func NewBeater

func NewBeater(client grpc.BenchHubCentralClient, r *Registry) (*Beater, error)

func (*Beater) Beat

func (b *Beater) Beat() error

func (*Beater) GetLogger

func (b *Beater) GetLogger() *dlog.Logger

func (*Beater) LoggerIdentity

func (b *Beater) LoggerIdentity(justCallMe func() *dlog.Identity) *dlog.Identity

func (*Beater) Register

func (b *Beater) Register() error

func (*Beater) RunWithContext

func (b *Beater) RunWithContext(ctx context.Context) error

func (*Beater) SetLogger

func (b *Beater) SetLogger(logger *dlog.Logger)

type GrpcServer

type GrpcServer struct {
	// contains filtered or unexported fields
}

func NewGrpcServer

func NewGrpcServer(r *Registry) (*GrpcServer, error)

func (*GrpcServer) GetLogger

func (srv *GrpcServer) GetLogger() *dlog.Logger

func (*GrpcServer) LoggerIdentity

func (srv *GrpcServer) LoggerIdentity(justCallMe func() *dlog.Identity) *dlog.Identity

func (*GrpcServer) NodeInfo

func (srv *GrpcServer) NodeInfo(ctx context.Context, _ *pbc.NodeInfoReq) (*pbc.NodeInfoRes, error)

func (*GrpcServer) Ping

func (srv *GrpcServer) Ping(ctx context.Context, ping *pbc.Ping) (*pbc.Pong, error)

func (*GrpcServer) SetLogger

func (srv *GrpcServer) SetLogger(logger *dlog.Logger)

type HttpServer

type HttpServer struct {
	// contains filtered or unexported fields
}

HttpServer is mainly used to communicate with browser, routes are mounted in transport http package

func NewHttpServer

func NewHttpServer(r *Registry) (*HttpServer, error)

func (*HttpServer) GetLogger

func (srv *HttpServer) GetLogger() *dlog.Logger

func (*HttpServer) Handler

func (srv *HttpServer) Handler() http.Handler

func (*HttpServer) LoggerIdentity

func (srv *HttpServer) LoggerIdentity(justCallMe func() *dlog.Identity) *dlog.Identity

func (*HttpServer) NodeInfo

func (srv *HttpServer) NodeInfo(ctx context.Context) (*pbc.NodeInfoRes, error)

func (*HttpServer) Ping

func (srv *HttpServer) Ping(ctx context.Context, ping *pbc.Ping) (*pbc.Pong, error)

func (*HttpServer) RegisterHandler

func (srv *HttpServer) RegisterHandler(mux *ihttp.JsonHandlerMux)

func (*HttpServer) SetLogger

func (srv *HttpServer) SetLogger(logger *dlog.Logger)

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager(cfg config.ServerConfig) (*Manager, error)

func (*Manager) GetLogger

func (mgr *Manager) GetLogger() *dlog.Logger

func (*Manager) LoggerIdentity

func (mgr *Manager) LoggerIdentity(justCallMe func() *dlog.Identity) *dlog.Identity

func (*Manager) Run

func (mgr *Manager) Run() error

Run creates the following long running goroutines

grpc server http server monitor metrics collector client to central server, register, keep alive

short running goroutines

run benchmarks install packages send metrics

different go routines communicate using event bus

func (*Manager) SetLogger

func (mgr *Manager) SetLogger(logger *dlog.Logger)

type Registry

type Registry struct {
	Config config.ServerConfig
	State  *StateMachine
}

Registry is a central repository for shared states, i.e. data store, metrics etc.

type StateMachine

type StateMachine struct {
	// contains filtered or unexported fields
}

func NewStateMachine

func NewStateMachine() (*StateMachine, error)

func (*StateMachine) Current

func (s *StateMachine) Current() pbc.NodeState

func (*StateMachine) GetLogger

func (s *StateMachine) GetLogger() *dlog.Logger

func (*StateMachine) LoggerIdentity

func (s *StateMachine) LoggerIdentity(justCallMe func() *dlog.Identity) *dlog.Identity

func (*StateMachine) RegisterSuccess

func (s *StateMachine) RegisterSuccess()

func (*StateMachine) SetLogger

func (s *StateMachine) SetLogger(logger *dlog.Logger)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL