View Source Yex.Sync.SharedDoc (y_ex v0.7.1)

This process handles messages for yjs protocol sync and awareness. https://github.com/yjs/y-protocols

Persistence is supported by passing persistence module. see Yex.Sync.SharedDoc.PersistenceBehaviour

If the observer process does not exist, it will automatically terminate.

Summary

Types

Launch Parameters

Functions

Receive doc update notifications in the calling process.

Send a message to the SharedDoc process. message mus be represented in the Yjs protocol default format. type supports sync and awareness.

Callback implementation for Yex.DocServer.start/2.

Start the initial state exchange.

Stop receiving doc update notifications in the calling process.

Types

launch_param()

@type launch_param() ::
  {:doc_name, String.t()}
  | {:persistence, {module() | {module(), init_arg :: term()}}}
  | {:auto_exit, boolean()}
  | {:doc_option, Yex.Doc.Options.t()}

Launch Parameters

  • :doc_name - The name of the document.
  • :persistence - Persistence module that implements PersistenceBehaviour.
  • :auto_exit - Automatically terminate the SharedDoc process when there is no longer a process to receive update notifications.
  • :doc_option - Options for the document.

Functions

child_spec(arg)

get_doc(server)

observe(server)

Receive doc update notifications in the calling process.

process_message_v1(server, message, origin \\ nil)

Callback implementation for Yex.DocServer.process_message_v1/3.

send_yjs_message(server, message)

Send a message to the SharedDoc process. message mus be represented in the Yjs protocol default format. type supports sync and awareness.

start(arg, opt \\ [])

Callback implementation for Yex.DocServer.start/2.

start_link(arg, opt \\ [])

Callback implementation for Yex.DocServer.start_link/2.

start_sync(server, step1_message)

Start the initial state exchange.

unobserve(server)

Stop receiving doc update notifications in the calling process.

If auto_exit is started with true(default), the SharedDoc process will automatically stop when there is no longer a process to receive update notifications.