Documentation
¶
Index ¶
- Constants
- type AlertConfig
- type AuthenticateResponse
- type Authentication
- type BinaryMessage
- type Capabilities
- type CapabilityFeatures
- type ChunkSizeFeatures
- type Client
- type CompressionFeatures
- type Config
- type FlowControlFeatures
- type NotificationConfig
- type Options
- type RequestData
- type ResponseData
- type TCPConnectData
- type TCPData
- type TCPReadyData
Constants ¶
View Source
const ( CapabilityFlagBinaryProtocol = 1 << iota CapabilityFlagCompression CapabilityFlagStreaming CapabilityFlagFlowControl CapabilityFlagHTTPBinary CapabilityFlagHTTPStreaming CapabilityFlagTCPOverWS CapabilityFlagTCPMultiplex )
CapabilityFlags represents protocol capability flags
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlertConfig ¶
type AuthenticateResponse ¶
type AuthenticateResponse struct {
OK bool `json:"ok"`
Message string `json:"message,omitempty"`
Version string `json:"version,omitempty"`
URL string `json:"url,omitempty"`
Config *Config `json:"config,omitempty"`
ClientId string `json:"clientId,omitempty"` // Client ID from server
ContainerId string `json:"containerId,omitempty"` // Container ID from server
}
type Authentication ¶
type Authentication struct {
Version string `json:"version"`
Type string `json:"type"`
Port int `json:"port"`
SubDomain string `json:"subDomain,omitempty"`
TunnelPort int `json:"tunnelPort,omitempty"`
Timestamp int64 `json:"timestamp"`
AuthType string `json:"authType,omitempty"`
ClientId string `json:"clientId,omitempty"`
Signature string `json:"signature"`
Capabilities *Capabilities `json:"capabilities,omitempty"`
}
type BinaryMessage ¶
type BinaryMessage struct {
Type uint8 // Message type
StreamID string // Stream ID
Sequence uint32 // Sequence number
Flags uint8 // Flags
Data []byte // Payload data
}
BinaryMessage represents a binary protocol message
type Capabilities ¶
type Capabilities struct {
Flags int `json:"flags"`
Version string `json:"version"`
Features *CapabilityFeatures `json:"features,omitempty"`
}
func GetClientCapabilities ¶
func GetClientCapabilities(version string) *Capabilities
GetClientCapabilities returns the client capabilities based on version For version 2.0.0+, returns full capabilities For older versions, returns nil (legacy protocol)
type CapabilityFeatures ¶
type CapabilityFeatures struct {
Compression *CompressionFeatures `json:"compression,omitempty"`
ChunkSize *ChunkSizeFeatures `json:"chunkSize,omitempty"`
FlowControl *FlowControlFeatures `json:"flowControl,omitempty"`
}
type ChunkSizeFeatures ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client wraps a websocket tunnel session and manages forwarding/heartbeat.
type CompressionFeatures ¶
type Config ¶
type Config struct {
Version string `json:"version,omitempty"`
Notification *NotificationConfig `json:"notification,omitempty"`
NegotiatedCapabilities *Capabilities `json:"negotiatedCapabilities,omitempty"`
}
type FlowControlFeatures ¶
type FlowControlFeatures struct {
WindowSize int `json:"windowSize"`
}
type NotificationConfig ¶
type NotificationConfig struct {
Provider string `json:"provider"`
URL string `json:"url"`
Interval int `json:"interval,omitempty"`
Alert *AlertConfig `json:"alert,omitempty"`
}
type Options ¶
type Options struct {
Type string
UpstreamHost string
UpstreamPort int
AuthType string
Token string
ClientId string
ClientSecret string
SubDomain string
Port int
Remote string
RemoteTCPPort int
HealthcheckInt int
ReportURL string
Version string
ReconnectMaxRetries int // Maximum number of reconnection retries, default 1000
ReconnectInterval time.Duration // Interval between reconnection attempts, default 3s
}
type RequestData ¶
type ResponseData ¶
type TCPConnectData ¶
type TCPReadyData ¶
Click to show internal directories.
Click to hide internal directories.