GPUI.Remote.Protocol (gpui v0.2.0-rc.1)

Copy Markdown View Source

Transport-independent contract between a remote application session and display.

SafeRPC owns request mechanics and term safety. This module defines only the versioned GPUI operations and capability negotiation.

Summary

Types

message()

@type message() :: %{op: op(), payload: map()}

op()

@type op() :: :hello | :mount | :resume_session | :event | :snapshot

Functions

capability()

clipboard_event?(arg1)

@spec clipboard_event?(term()) :: boolean()

event(event)

file_read_event?(arg1)

@spec file_read_event?(term()) :: boolean()

hello(payload \\ %{})

known_op?(op)

mount(args \\ %{})

negotiate(payload)

ops()

presentation(supports)

@spec presentation([GPUI.Schema.Extension.Support.t()]) :: [map()]

Encodes validated display presentation support for a remote hello payload.

required_peer_capabilities()

resume_session(session_id)

server_capabilities()

snapshot()

transfer_event?(arg1)

@spec transfer_event?(term()) :: boolean()

validate_clipboard_event(event)

@spec validate_clipboard_event(map()) :: {:ok, map()} | {:error, term()}

validate_file_read_event(event)

@spec validate_file_read_event(map()) :: {:ok, map()} | {:error, term()}

validate_presentation(supports)

@spec validate_presentation(term()) ::
  {:ok, [GPUI.Schema.Extension.Support.t()]} | {:error, term()}

Validates bounded informational presentation support from a remote peer.

validate_transfer_event(event)

@spec validate_transfer_event(map()) :: {:ok, map()} | {:error, term()}

version()