nats

package
v0.0.0-...-6bdf688 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultPort is the default port for client connections.
	// DefaultPort = nats.DefaultPort
	DefaultPort = 32609

	// DefaultHost defaults to all interfaces.
	DefaultHost = "0.0.0.0"

	// DefaultClusterPort is the default cluster communication port.
	DefaultClusterPort = 32610 // port for inbound route connections

	DefaultHTTPPort = 32611 // HTTP monitoring port
)

Variables

View Source
var (
	RequestsSubjectTemplate = "dotmesh.events.requests.%s.%s"
	ResponseSubjectTemplate = "dotmesh.events.responses.%s.%s"

	// Cluster requests (reset registry)
	ClusterReqSubjectTemplate = "dotmesh.cluster.requests"
	// Cluster responses (with request ID)
	ClusterRespSubjectTemplate = "dotmesh.cluster.responses.%s"
)

Functions

func ConnectURL

func ConnectURL(config *Config) string

ConnectURL returns the ocnnection URL.

func GetURL

func GetURL(host string, port int) string

GetURL returns a nats URL from a host & port.

Types

type ClientConfig

type ClientConfig struct {
	NatsURL           string
	ConnectionTimeout int64
}

type Config

type Config struct {
	Host        string
	Port        int
	ClusterPort int
	HTTPPort    int
	RoutesStr   string
	Logtime     bool
	Debug       bool
	Trace       bool
	MaxPayload  int
}

Config holds the configuration for the messaging client and server.

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig returns the default options for the messaging client & server.

func (*Config) SetURL

func (c *Config) SetURL(s string) error

SetURL parses a string in the form nats://server:port and saves as options.

type Logger

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

Logger implements the nats logging interface, backed with our own logrus logger

func NewLogger

func NewLogger() *Logger

NewLogger creates a logger backed by logrus. Logs everything at debug level, any user-facing messages should be written elsewhere.

func (*Logger) Debugf

func (l *Logger) Debugf(format string, v ...interface{})

Debugf logs a debug statement

func (*Logger) Errorf

func (l *Logger) Errorf(format string, v ...interface{})

Errorf logs an error statement, which we log as debug

func (*Logger) Fatalf

func (l *Logger) Fatalf(format string, v ...interface{})

Fatalf logs a fatal error, which we log as debug

func (*Logger) Noticef

func (l *Logger) Noticef(format string, v ...interface{})

Noticef logs a notice statement, which we log as debug

func (*Logger) Tracef

func (l *Logger) Tracef(format string, v ...interface{})

Tracef logs a trace statement, which we log as debug

type NatsMessenger

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

func NewClient

func NewClient(config *ClientConfig) (*NatsMessenger, error)

func (*NatsMessenger) Close

func (m *NatsMessenger) Close()

func (*NatsMessenger) Publish

func (m *NatsMessenger) Publish(event *types.Event) error

func (*NatsMessenger) Subscribe

func (m *NatsMessenger) Subscribe(ctx context.Context, q *types.SubscribeQuery) (chan *types.Event, error)

type NatsServer

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

func NewServer

func NewServer(config *Config) (*NatsServer, error)

NewServer creates a new gnatsd server from the given config and listens on the configured port.

func (*NatsServer) Shutdown

func (s *NatsServer) Shutdown()

func (*NatsServer) Start

func (s *NatsServer) Start() error

Jump to

Keyboard shortcuts

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