nats

package
v1.0.8 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ClusterName     string
	ClusterID       string
	PingParams      PingParameter
	PubAckWait      time.Duration
	NatsServer      string
	NatsURL         string
	NatsPort        string
	MaxInFlight     int
	ConnLostHandler func(conn stan.Conn, reason error)
	MessageHandler  func(msg *stan.Msg)
	ConnNats        stan.Conn
	SubsOpts        SubsOptionsHandler
}

func NewOptions

func NewOptions(opts ...Options) Config

type Message

type Message struct {
	Payload []byte
	Subject string
}

type MessageCh added in v1.0.3

type MessageCh struct {
	Msg  *stan.Msg
	Data []byte
}

type NatsServiceRepo

type NatsServiceRepo interface {
	ReConnect(opt ...Options) error
	Close() error
	QueueSubscribe(subject, qgroup string, cb stan.MsgHandler,
		opts ...stan.SubscriptionOption) (stan.Subscription, error)
	Subscribe(subject string, cb stan.MsgHandler,
		opts ...stan.SubscriptionOption) (stan.Subscription, error)
	Publish(obj Message) error
	SetMessageHandler(fn func(msg *stan.Msg))
	MessageHandler() stan.MsgHandler
	ConnectedUrl() string
	ConnectedAddr() string
	ConnectedServerId() string
	DeliverAllAvailable() stan.SubscriptionOption
	GetOpts() *Config
}

func NewService

func NewService(opts ...Options) (NatsServiceRepo, error)

type Options

type Options func(*Config)

func ClusterID

func ClusterID(id string) Options

func ClusterName

func ClusterName(name string) Options

func ConnLostHandler

func ConnLostHandler(fn func(con stan.Conn, reason error)) Options

func ConnNats

func ConnNats(conn stan.Conn) Options

func MaxInFlight

func MaxInFlight(num int) Options

func MessageHandler

func MessageHandler(fn func(msg *stan.Msg)) Options

func NatsPort added in v1.0.8

func NatsPort(port string) Options

func NatsServer added in v1.0.8

func NatsServer(server string) Options

func NatsURL added in v1.0.8

func NatsURL(url string) Options

func NewSubsOpts added in v1.0.3

func NewSubsOpts(opts ...SubsOptHandler) Options

func PingParams

func PingParams(params PingParameter) Options

func PubAckWait

func PubAckWait(time time.Duration) Options

type PingParameter

type PingParameter struct {
	TTLA int
	TTLB int
}

type SubsOptHandler added in v1.0.3

type SubsOptHandler func(*SubsOptionsHandler)

func SetAckWait

func SetAckWait(duration time.Duration) SubsOptHandler

func SetDurableName

func SetDurableName(name string) SubsOptHandler

func SetManualAckMode

func SetManualAckMode(isManual bool) SubsOptHandler

func SetMaxInFlight

func SetMaxInFlight(numMessage int) SubsOptHandler

func SetStartAtSequence added in v1.0.3

func SetStartAtSequence(sequence uint64) SubsOptHandler

func SetStartWithLastReceived added in v1.0.3

func SetStartWithLastReceived(isManual bool) SubsOptHandler

func SetSubWrapper added in v1.0.3

func SetSubWrapper(nr *newrelic.Application) SubsOptHandler

type SubsOptionsHandler added in v1.0.3

type SubsOptionsHandler struct {
	DurableName, MaxInFlight,
	AckWait, ManualAckMode,
	StartWithLastReceived,
	StartAtSequence stan.SubscriptionOption
	SubWrapper func(ch chan<- interface{}) func(msg *stan.Msg)
}

Jump to

Keyboard shortcuts

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