nats

package
v0.0.0-...-dc9d089 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2019 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API interface {
	EnqueueSendingNats(id, service string, to sumuslib.PublicKey, a *amount.Amount, t sumuslib.Token) (dup, success bool)
}

API provides ability to interact with service API

type Metrics

type Metrics struct {
	RequestDuration      *prometheus.HistogramVec
	NotificationDuration prometheus.Histogram
}

Metrics data

type Nats

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

Nats exposes endpoints via Nats server

func New

func New(
	url string,
	subjPrefix string,
	api API,
	logger *logrus.Entry,
) (*Nats, func(), error)

New instance

func (*Nats) AddMetrics

func (n *Nats) AddMetrics(m *Metrics)

AddMetrics adds metrics counters and should be called before service launch

func (*Nats) PublishSentEvent

func (n *Nats) PublishSentEvent(
	success bool,
	msgerr string,
	service, requestID string,
	to sumuslib.PublicKey,
	token sumuslib.Token,
	amo *amount.Amount,
	digest *sumuslib.Digest,
) error

PublishSentEvent sends a sending completion notification

func (*Nats) Task

func (n *Nats) Task(token *gotask.Token)

Task loop

Jump to

Keyboard shortcuts

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