Documentation
¶
Index ¶
- Variables
- func Log(m *nats.Msg)
- type GolNats
- func (nc *GolNats) Close()
- func (nc *GolNats) Connect() (err error)
- func (nc *GolNats) Log()
- func (nc *GolNats) Publish(msg []byte) (err error)
- func (nc *GolNats) PublishMessage(reply string, data []byte) (err error)
- func (nc *GolNats) QueueSubscriber(qName string, evalMsg func(*nats.Msg)) (err error)
- func (nc *GolNats) Reply(evalMsg func(*nats.Msg)) (err error)
- func (nc *GolNats) Request(reqData []byte) (result []byte, err error)
- func (nc *GolNats) SubscriberAsync(evalMsg func(*nats.Msg)) (err error)
- func (nc *GolNats) SubscriberChan(evalMsg func(*nats.Msg)) (err error)
- func (nc *GolNats) SubscriberSync(evalMsg func(*nats.Msg), timeout time.Duration) (err error)
- func (nc *GolNats) Unsubscribe()
- type JSGolNats
- func (jnc *JSGolNats) AddDurableConsumerJS(ctx context.Context, consumerID string) error
- func (jnc *JSGolNats) Close()
- func (jnc *JSGolNats) Connect(ctx context.Context, natsURLs, authToken string) error
- func (jnc *JSGolNats) LogJS()
- func (jnc *JSGolNats) PublishJS(ctx context.Context, subject string, msg []byte) error
- func (jnc *JSGolNats) PullSubscriberJS(ctx context.Context, subject, qName string, evalMsg func(*nats.Msg), ...) error
- func (jnc *JSGolNats) SubscriberJS(ctx context.Context, subject string, evalMsg func(*nats.Msg)) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultTimeoutMillisec = 100 * time.Millisecond DrainTimeoutMillisec = 1000 * time.Millisecond FlushTimeoutMillisec = 1000 * time.Millisecond )
View Source
var ( PubAsyncMaxPending = 256 //https://docs.nats.io/nats-concepts/core-nats/queue DefaultRetentionPolicy = nats.LimitsPolicy // nats.WorkQueuePolicy //https://docs.nats.io/nats-concepts/jetstream/consumers DefaultAckPolicy = nats.AckExplicitPolicy DefaultAckWaitMilliSec = 60 * time.Second DefaultDeliverPolicy = nats.DeliverAllPolicy DefaultMaxDeliver = 5 )
Functions ¶
Types ¶
type GolNats ¶
type GolNats struct {
URL string // this would support CSV for cluster as well
ConnName string // for monitoring stats
ConnToken string // for using user:password, make them part of URLs as "myname:password@127.0.0.1;4222"
Connection *nats.Conn
Subscription *nats.Subscription
Channel chan *nats.Msg
Subject string
LastMessage []byte
Timeout time.Duration
}
func ConnectNats ¶
func (*GolNats) PublishMessage ¶
func (*GolNats) QueueSubscriber ¶
func (*GolNats) SubscriberAsync ¶
func (*GolNats) SubscriberChan ¶
func (*GolNats) SubscriberSync ¶
func (*GolNats) Unsubscribe ¶
func (nc *GolNats) Unsubscribe()
type JSGolNats ¶
type JSGolNats struct {
GolNats GolNats
JS nats.JetStreamContext
Stream string
Subjects []string
Retention nats.RetentionPolicy
AckPolicy nats.AckPolicy
AckWait time.Duration
DeliveryPolicy nats.DeliverPolicy
MaxDeliver int
}
func (*JSGolNats) AddDurableConsumerJS ¶
func (*JSGolNats) PullSubscriberJS ¶
Click to show internal directories.
Click to hide internal directories.