service

package
v0.3.8 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2018 License: MIT Imports: 16 Imported by: 19

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
	CassandraConfig  config.Cassandra
	ClusterMetadata  cluster.Metadata
	ReplicatorConfig config.Replicator
	MessagingClient  messaging.Client
	DynamicConfig    dynamicconfig.Client
}

BootstrapParams holds the set of parameters needed to bootstrap a service

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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