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
}
