Files
drip/internal/shared/constants/constants.go
Gouryella b3c8fc3f41 fix(tunnel): Fixes the delayed display logic to correctly handle microsecond-level delays.
- Adjust the delayed formatting function to prioritize checking if the delay is 0 to avoid displaying errors.
- When the delay is less than 1 millisecond, it is displayed in microseconds to improve the precision of the expression.
feat (constants): Shorten heart rate intervals and timeouts to improve response speed.
- Adjust HeartbeatInterval from 5 seconds to 2 seconds
- Adjust HeartbeatTimeout from 15 seconds to 6 seconds
- Improve the sensitivity of heartbeat detection between the client and the server
2025-12-10 16:25:45 +08:00

46 lines
1.4 KiB
Go

package constants
import "time"
const (
// DefaultServerPort is the default port for the tunnel server
DefaultServerPort = 8080
// DefaultWSPort is the default WebSocket port
DefaultWSPort = 8080
// HeartbeatInterval is how often clients send heartbeat messages
HeartbeatInterval = 2 * time.Second
// HeartbeatTimeout is how long the server waits before considering a connection dead
HeartbeatTimeout = 6 * time.Second
// RequestTimeout is the maximum time to wait for a response from the client
RequestTimeout = 30 * time.Second
// ReconnectBaseDelay is the initial delay for reconnection attempts
ReconnectBaseDelay = 1 * time.Second
// ReconnectMaxDelay is the maximum delay between reconnection attempts
ReconnectMaxDelay = 60 * time.Second
// MaxReconnectAttempts is the maximum number of reconnection attempts (0 = infinite)
MaxReconnectAttempts = 0
// DefaultTCPPortMin/Max define the default allocation range for TCP tunnels
DefaultTCPPortMin = 20000
DefaultTCPPortMax = 40000
// DefaultDomain is the default domain for tunnels
DefaultDomain = "tunnel.localhost"
)
// Error codes
const (
ErrCodeTunnelNotFound = "TUNNEL_NOT_FOUND"
ErrCodeTimeout = "TIMEOUT"
ErrCodeConnectionFailed = "CONNECTION_FAILED"
ErrCodeInvalidRequest = "INVALID_REQUEST"
ErrCodeAuthFailed = "AUTH_FAILED"
ErrCodeRateLimited = "RATE_LIMITED"
)