ExUtcp.Transports.WebRTC (ex_utcp v0.3.2)

Copy Markdown View Source

WebRTC transport for ExUtcp.

Provides peer-to-peer communication using WebRTC data channels. Supports:

  • Peer-to-peer tool calling without server intermediary
  • Low-latency communication with NAT traversal
  • Secure communication with DTLS encryption
  • Multiple data channels for concurrent operations
  • ICE candidate exchange and STUN/TURN server support

Summary

Functions

Returns a specification to start this module under a supervisor.

Creates a new WebRTC transport.

Starts the WebRTC transport GenServer.

Types

t()

@type t() :: %ExUtcp.Transports.WebRTC{
  connection_timeout: integer(),
  connections: %{required(String.t()) => pid()},
  ice_servers: [map()],
  providers: %{required(String.t()) => map()},
  signaling_server: String.t()
}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

new(opts \\ [])

@spec new(keyword()) :: t()

Creates a new WebRTC transport.

start_link(opts \\ [])

@spec start_link(keyword()) :: {:ok, pid()} | {:error, term()}

Starts the WebRTC transport GenServer.