34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
package session
|
|
|
|
import "time"
|
|
|
|
const (
|
|
DataPlaneCandidateDirectWorkerWSS = "direct_worker_wss"
|
|
DataPlaneCandidateBackendGateway = "backend_gateway"
|
|
|
|
DataPlaneChannelControl = "control"
|
|
DataPlaneChannelInput = "input"
|
|
DataPlaneChannelRender = "render"
|
|
DataPlaneChannelClipboard = "clipboard"
|
|
DataPlaneChannelFileUpload = "file_upload"
|
|
DataPlaneChannelFileDownload = "file_download"
|
|
DataPlaneChannelTelemetry = "telemetry"
|
|
)
|
|
|
|
type DataPlaneOffer struct {
|
|
Preferred string `json:"preferred"`
|
|
Token string `json:"token"`
|
|
ExpiresAt time.Time `json:"expires_at"`
|
|
Candidates []DataPlaneCandidate `json:"candidates"`
|
|
}
|
|
|
|
type DataPlaneCandidate struct {
|
|
Type string `json:"type"`
|
|
URL string `json:"url"`
|
|
WorkerID string `json:"worker_id,omitempty"`
|
|
NodeID string `json:"node_id,omitempty"`
|
|
ClusterID string `json:"cluster_id,omitempty"`
|
|
Priority int `json:"priority,omitempty"`
|
|
Metadata map[string]any `json:"metadata,omitempty"`
|
|
}
|