Documentation
¶
Index ¶
- Constants
- type Client
- func (c *Client) Close() error
- func (c *Client) Config() *Config
- func (c *Client) Conn() *nats.Conn
- func (c *Client) Context() context.Context
- func (c *Client) Logger() Logger
- func (c *Client) Meter() metric.Meter
- func (c *Client) QueueSubscribeSync(subject, queue string) (*nats.Subscription, error)
- func (c *Client) WithMeter(m metric.Meter)
- type Config
- type ConnectOptions
- type ConnectionResult
- type CoreClient
- type Logger
- type StubLogger
Constants ¶
View Source
const ( DefaultEnvNATSPrefix = "NATS" DefaultTimeout = time.Millisecond * 100 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func ConnectClient ¶ added in v1.1.0
ConnectClient creates a NATS client from explicit config.
func (*Client) QueueSubscribeSync ¶
func (c *Client) QueueSubscribeSync(subject, queue string) (*nats.Subscription, error)
QueueSubscribeSync exposes the legacy NATS subscription type.
type Config ¶
type Config struct {
*nats.StreamConfig
Addr string `env:"_ADDR" envDefault:"nats://127.0.0.1:4222"`
Username string `env:"_USERNAME" envDefault:""`
Password string `env:"_PASSWORD" envDefault:""`
Seed string `env:"_SEED" envDefault:""`
DrainTimeout time.Duration `env:"_DRAIN_TIMEOUT" envDefault:"1s"`
MaxReconnects int `env:"_MAX_RECONNECTS" envDefault:"10"`
ReconnectWait time.Duration `env:"_RECONNECT_WAIT" envDefault:"1s"`
MaxAckPending int `env:"_MAX_ACK_PENDING" envDefault:"0"`
RetryOnFailedConnect bool `env:"_RETRY_ON_FAILED_CONNECT" envDefault:"true"`
ManualAck bool `env:"_MANUAL_ACK" envDefault:"false"`
ConcurrentSize int `env:"_CONCURRENT_SIZE" envDefault:"10"`
MaxConcurrentSize uint64 `env:"_MAX_CONCURRENT_SIZE" envDefault:"1024"`
ReadTimeout time.Duration `env:"_READ_TIMEOUT" envDefault:"500ms"`
IdleTimeout time.Duration `env:"_IDLE_TIMEOUT" envDefault:"5s"`
}
func (*Config) GetConcurrentSize ¶
func (*Config) GetOptions ¶
func (*Config) GetOptionsStrict ¶ added in v1.1.0
func (*Config) GetReadTimeout ¶
type ConnectOptions ¶ added in v1.1.0
type ConnectOptions struct {
Addr string
Username string
Password string
Seed string
DrainTimeout time.Duration
MaxReconnects int
ReconnectWait time.Duration
MaxAckPending int
RetryOnFailedConnect bool
ManualAck bool
ConcurrentSize int
MaxConcurrentSize uint64
ReadTimeout time.Duration
IdleTimeout time.Duration
}
ConnectOptions is the core-owned input for creating a NATS connection.
type ConnectionResult ¶ added in v1.1.0
type ConnectionResult struct {
Connected bool
}
ConnectionResult is the core-owned result for NATS connection operations.
type CoreClient ¶ added in v1.1.0
type CoreClient struct {
// contains filtered or unexported fields
}
CoreClient wraps the legacy NATS client behind core-owned connection operations.
func Connect ¶ added in v1.1.0
func Connect(ctx context.Context, options ConnectOptions, logger Logger) (*CoreClient, error)
Connect creates a NATS client from core-owned options.
func (*CoreClient) Close ¶ added in v1.1.0
func (c *CoreClient) Close() error
Close drains and closes the NATS connection.
func (*CoreClient) Status ¶ added in v1.1.0
func (c *CoreClient) Status() ConnectionResult
Status reports whether the connection is active.
type StubLogger ¶
type StubLogger struct{}
func (StubLogger) Debug ¶
func (l StubLogger) Debug(_ string, _ ...any)
func (StubLogger) Error ¶
func (l StubLogger) Error(_ string, _ ...any)
func (StubLogger) Info ¶
func (l StubLogger) Info(_ string, _ ...any)
Click to show internal directories.
Click to hide internal directories.