Documentation
¶
Index ¶
- type Config
- type IntegratedClient
- func (ic *IntegratedClient) AutoSwitchProtocol() error
- func (ic *IntegratedClient) Close() error
- func (ic *IntegratedClient) Connect(ctx context.Context, address string) error
- func (ic *IntegratedClient) DisableAutoProtocolSwitching()
- func (ic *IntegratedClient) EnableAutoProtocolSwitching()
- func (ic *IntegratedClient) GetCurrentProtocol() protocol.Protocol
- func (ic *IntegratedClient) GetFeatures() []string
- func (ic *IntegratedClient) GetHealthChecker() *health.HealthChecker
- func (ic *IntegratedClient) GetMetrics() *metrics.Metrics
- func (ic *IntegratedClient) GetProtocolRecommendation() map[string]interface{}
- func (ic *IntegratedClient) GetStats() map[string]interface{}
- func (ic *IntegratedClient) GetTenantID() string
- func (ic *IntegratedClient) GetVersion() string
- func (ic *IntegratedClient) IsAutoProtocolSwitchingEnabled() bool
- func (ic *IntegratedClient) IsConnected() bool
- func (ic *IntegratedClient) Ping() error
- func (ic *IntegratedClient) Receive(buffer []byte) (int, error)
- func (ic *IntegratedClient) Send(data []byte) error
- func (ic *IntegratedClient) SetTenantID(tenantID string)
- func (ic *IntegratedClient) SwitchProtocol(newProtocol protocol.Protocol) error
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
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