iop/apps/control-plane/internal/wire/wire.go
toki 6f36449daa feat(control-plane): edge connector implementation and control proto updates
- Add edge connector module (edge.go, edge_registry.go, edge_server.go)
- Add edge server tests (edge_server_test.go, edge_test.go)
- Update control.proto with edge-related messages and RPCs
- Generate proto files for Go, Dart
- Update control-plane Dockerfile and configuration
- Add client-side proto bindings
- Update roadmap and milestones for control-plane-edge-wire-baseline
- Add agent-task documentation for edge connector and local smoke tests
- Update docker-compose.yml for edge support
2026-05-30 20:00:37 +09:00

32 lines
1.3 KiB
Go

package wire
const (
// Protocol names the IOP standard communication layer. The current Edge-Node
// transport already uses common-proto-socket; Control Plane endpoints should
// extend that same wire protocol instead of introducing another RPC framework.
Protocol = "protobuf-socket"
// EdgeTransport is the Control Plane-Edge native wire boundary. It uses
// proto-socket over TCP, while HTTP stays reserved for health, readiness, and
// bootstrap-style support endpoints.
EdgeTransport = "proto-socket-tcp"
// ClientTransport is the browser/app boundary for Control Plane clients.
ClientTransport = "proto-socket-ws"
// EdgeHeartbeatIntervalSec is how often the Control Plane edge wire drives a
// heartbeat exchange on a connected Edge TCP client.
EdgeHeartbeatIntervalSec = 30
// EdgeHeartbeatWaitSec is how long the edge wire waits for a heartbeat
// response before treating the Edge as gone. It intentionally exceeds the
// interval so a slow Edge round trip does not trigger a premature disconnect.
EdgeHeartbeatWaitSec = 45
)
// Endpoint carries a Control Plane wire listen address. The current server uses
// it for the Client WebSocket boundary; EdgeTransport records the native TCP
// boundary for the Control Plane-Edge contract.
type Endpoint struct {
Listen string
}