server

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2020 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

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, _ *pb.NodeInfoReq) (*pb.NodeInfoRes, error)

func (*GrpcServer) Ping

func (srv *GrpcServer) Ping(ctx context.Context, ping *pb.Ping) (*pb.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) (*pb.NodeInfoRes, error)

func (*HttpServer) Ping

func (srv *HttpServer) Ping(ctx context.Context, ping *pb.Ping) (*pb.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.AgentServerConfig) (*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

beater, register node, send heartbeat grpc server http server TODO: metrics collector

func (*Manager) SetLogger

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

type Registry

type Registry struct {
	Config config.AgentServerConfig
	State  *StateMachine
	// contains filtered or unexported fields
}

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

func NewRegistry added in v0.0.2

func NewRegistry(cfg config.AgentServerConfig) (*Registry, error)

func (*Registry) NodeInfo added in v0.0.2

func (r *Registry) NodeInfo() pb.NodeInfo

type StateMachine

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

func NewStateMachine

func NewStateMachine() (*StateMachine, error)

func (*StateMachine) Current

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

func (*StateMachine) GetLogger

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

func (*StateMachine) HeartbeatFailed added in v0.0.2

func (s *StateMachine) HeartbeatFailed()

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