influxdb/nats/subscription.go

32 lines
717 B
Go

package nats
import stan "github.com/nats-io/go-nats-streaming"
type Subscription interface {
// Pending returns the number of queued messages and queued bytes for this subscription.
Pending() (int64, int64, error)
// Delivered returns the number of delivered messages for this subscription.
Delivered() (int64, error)
// Close removes this subscriber
Close() error
}
type subscription struct {
sub stan.Subscription
}
func (s subscription) Pending() (int64, int64, error) {
messages, bytes, err := s.sub.Pending()
return int64(messages), int64(bytes), err
}
func (s subscription) Delivered() (int64, error) {
return s.sub.Delivered()
}
func (s subscription) Close() error {
return s.sub.Close()
}