Documentation
¶
Index ¶
- Constants
- type ReplicaClient
- func (c *ReplicaClient) Close() error
- func (c *ReplicaClient) DeleteAll(ctx context.Context) error
- func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.FileInfo) error
- func (c *ReplicaClient) Init(ctx context.Context) error
- func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ltx.TXID) (ltx.FileIterator, error)
- func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, offset, size int64) (io.ReadCloser, error)
- func (c *ReplicaClient) Type() string
- func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, r io.Reader) (*ltx.FileInfo, error)
Constants ¶
View Source
const ReplicaClientType = "nats"
ReplicaClientType is the client type for this package.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ReplicaClient ¶
type ReplicaClient struct {
// Configuration
URL string // NATS server URL
BucketName string // Object store bucket name
Path string // Base path for LTX files within the bucket
JWT string // JWT token for authentication
Seed string // Seed for JWT authentication
Creds string // Credentials file path
NKey string // NKey for authentication
Username string // Username for authentication
Password string // Password for authentication
Token string // Token for authentication
TLS bool // Enable TLS
RootCAs []string // Root CA certificates
ClientCert string // Client certificate file path
ClientKey string // Client key file path
// Connection options
MaxReconnects int // Maximum reconnection attempts (-1 for unlimited)
ReconnectWait time.Duration // Wait time between reconnection attempts
ReconnectJitter time.Duration // Random jitter for reconnection
Timeout time.Duration // Connection timeout
PingInterval time.Duration // Ping interval
MaxPingsOut int // Maximum number of pings without response
ReconnectBufSize int // Reconnection buffer size
UserJWT func() (string, error) // JWT callback
SigCB func([]byte) ([]byte, error) // Signature callback
// contains filtered or unexported fields
}
ReplicaClient is a client for writing LTX files to NATS JetStream Object Store.
func NewReplicaClient ¶
func NewReplicaClient() *ReplicaClient
NewReplicaClient returns a new instance of ReplicaClient.
func (*ReplicaClient) Close ¶
func (c *ReplicaClient) Close() error
Close closes the NATS connection.
func (*ReplicaClient) DeleteAll ¶
func (c *ReplicaClient) DeleteAll(ctx context.Context) error
DeleteAll deletes all files in the object store.
func (*ReplicaClient) DeleteLTXFiles ¶
DeleteLTXFiles deletes one or more LTX files.
func (*ReplicaClient) Init ¶
func (c *ReplicaClient) Init(ctx context.Context) error
Init initializes the connection to NATS JetStream. No-op if already initialized.
func (*ReplicaClient) LTXFiles ¶
func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ltx.TXID) (ltx.FileIterator, error)
LTXFiles returns an iterator of all LTX files on the replica for a given level.
func (*ReplicaClient) OpenLTXFile ¶
func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, offset, size int64) (io.ReadCloser, error)
OpenLTXFile returns a reader that contains an LTX file at a given TXID range.
func (*ReplicaClient) Type ¶
func (c *ReplicaClient) Type() string
Type returns "nats" as the client type.
Click to show internal directories.
Click to hide internal directories.