service

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2018 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BootstrapParams

type BootstrapParams struct {
	Name              string
	Logger            bark.Logger
	MetricScope       tally.Scope
	RingpopFactory    RingpopFactory
	RPCFactory        common.RPCFactory
	PProfInitializer  common.PProfInitializer
	PersistenceConfig config.Persistence
	ClusterMetadata   cluster.Metadata
	ReplicatorConfig  config.Replicator
	MessagingClient   messaging.Client
	DynamicConfig     dynamicconfig.Client
}

BootstrapParams holds the set of parameters needed to bootstrap a service

func (*BootstrapParams) UpdateLoggerWithServiceName added in v0.4.0

func (params *BootstrapParams) UpdateLoggerWithServiceName(name string)

UpdateLoggerWithServiceName tag logging with service name from the top level

type RingpopFactory

type RingpopFactory interface {
	// CreateRingpop vends a bootstrapped ringpop object
	CreateRingpop(d *yarpc.Dispatcher) (*ringpop.Ringpop, error)
}

RingpopFactory provides a bootstrapped ringpop

type Service

type Service interface {
	// GetHostName returns the name of host running the service
	GetHostName() string

	// Start the service
	Start()

	// Stop stops the service
	Stop()

	GetLogger() bark.Logger

	GetMetricsClient() metrics.Client

	GetClientFactory() client.Factory

	GetDispatcher() *yarpc.Dispatcher

	GetMembershipMonitor() membership.Monitor

	GetHostInfo() *membership.HostInfo

	// GetClusterMetadata returns the service cluster metadata
	GetClusterMetadata() cluster.Metadata

	// GetMessagingClient returns the messaging client against Kafka
	GetMessagingClient() messaging.Client
}

Service is the interface which must be implemented by all the services

func New

func New(params *BootstrapParams) Service

New instantiates a Service Instance TODO: have a better name for Service.

func NewTestService added in v0.3.11

func NewTestService(clusterMetadata cluster.Metadata, messagingClient messaging.Client, metrics metrics.Client,
	logger bark.Logger) Service

NewTestService is the new service instance created for testing

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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