client

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2025 License: MIT Imports: 15 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 {
	TLSConfig       *tls.Config
	CircuitBreaker  *circuitbreaker.Config
	ProtocolOrder   []protocol.Protocol
	SwitchThreshold float64
	ConnectTimeout  time.Duration
	RequestTimeout  time.Duration

	// New fields for v2.0
	TenantID           string
	Version            string
	Features           []string
	MetricsEnabled     bool
	HealthCheckEnabled bool
	HealthCheckConfig  *health.Config
}

Config holds integrated client configuration

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig returns default configuration

type IntegratedClient

type IntegratedClient struct {
	// contains filtered or unexported fields
}

IntegratedClient represents a client that supports multiple protocols with circuit breaker

func NewIntegratedClient

func NewIntegratedClient(config *Config) *IntegratedClient

NewIntegratedClient creates a new integrated client

func (*IntegratedClient) AutoSwitchProtocol

func (ic *IntegratedClient) AutoSwitchProtocol() error

AutoSwitchProtocol automatically switches to a better protocol if available

func (*IntegratedClient) Close

func (ic *IntegratedClient) Close() error

Close closes all connections

func (*IntegratedClient) Connect

func (ic *IntegratedClient) Connect(ctx context.Context, address string) error

Connect establishes a connection using the best available protocol

func (*IntegratedClient) DisableAutoProtocolSwitching

func (ic *IntegratedClient) DisableAutoProtocolSwitching()

DisableAutoProtocolSwitching disables automatic protocol switching

func (*IntegratedClient) EnableAutoProtocolSwitching

func (ic *IntegratedClient) EnableAutoProtocolSwitching()

EnableAutoProtocolSwitching enables automatic protocol switching

func (*IntegratedClient) GetCurrentProtocol

func (ic *IntegratedClient) GetCurrentProtocol() protocol.Protocol

GetCurrentProtocol returns the current protocol

func (*IntegratedClient) GetFeatures

func (ic *IntegratedClient) GetFeatures() []string

GetFeatures returns the supported features

func (*IntegratedClient) GetHealthChecker

func (ic *IntegratedClient) GetHealthChecker() *health.HealthChecker

GetHealthChecker returns the health checker instance

func (*IntegratedClient) GetMetrics

func (ic *IntegratedClient) GetMetrics() *metrics.Metrics

GetMetrics returns the metrics instance

func (*IntegratedClient) GetProtocolRecommendation

func (ic *IntegratedClient) GetProtocolRecommendation() map[string]interface{}

GetProtocolRecommendation returns a recommendation for protocol selection

func (*IntegratedClient) GetStats

func (ic *IntegratedClient) GetStats() map[string]interface{}

GetStats returns protocol statistics

func (*IntegratedClient) GetTenantID

func (ic *IntegratedClient) GetTenantID() string

GetTenantID returns the current tenant ID

func (*IntegratedClient) GetVersion

func (ic *IntegratedClient) GetVersion() string

GetVersion returns the protocol version

func (*IntegratedClient) IsAutoProtocolSwitchingEnabled

func (ic *IntegratedClient) IsAutoProtocolSwitchingEnabled() bool

IsAutoProtocolSwitchingEnabled returns true if auto switching is enabled

func (*IntegratedClient) IsConnected

func (ic *IntegratedClient) IsConnected() bool

IsConnected returns true if the client is connected

func (*IntegratedClient) Ping

func (ic *IntegratedClient) Ping() error

Ping sends a ping to test connectivity

func (*IntegratedClient) Receive

func (ic *IntegratedClient) Receive(buffer []byte) (int, error)

Receive receives data using the current protocol

func (*IntegratedClient) Send

func (ic *IntegratedClient) Send(data []byte) error

Send sends data using the current protocol with circuit breaker protection

func (*IntegratedClient) SetTenantID

func (ic *IntegratedClient) SetTenantID(tenantID string)

SetTenantID sets the tenant ID for multi-tenancy support

func (*IntegratedClient) SwitchProtocol

func (ic *IntegratedClient) SwitchProtocol(newProtocol protocol.Protocol) error

SwitchProtocol switches to a new protocol

Jump to

Keyboard shortcuts

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