Raxol.Terminal.Manager.SessionHandler (Raxol v0.5.0)

View Source

Handles terminal session management.

This module is responsible for:

  • Creating new sessions
  • Destroying sessions
  • Managing session state
  • Handling session monitoring

Summary

Functions

Gets the count of terminal sessions.

Creates a new terminal session.

Destroys a terminal session.

Gets a terminal session by ID.

Handles a session process down event.

Lists all terminal sessions.

Monitors a terminal session.

Unmonitors a terminal session.

Functions

count_sessions(state)

@spec count_sessions(map()) :: non_neg_integer()

Gets the count of terminal sessions.

create_session(opts, state)

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

Creates a new terminal session.

destroy_session(session_id, state)

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

Destroys a terminal session.

get_session(session_id, state)

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

Gets a terminal session by ID.

handle_session_down(pid, state)

@spec handle_session_down(pid(), map()) :: map()

Handles a session process down event.

list_sessions(state)

@spec list_sessions(map()) :: [map()]

Lists all terminal sessions.

monitor_session(session_id, state)

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

Monitors a terminal session.

unmonitor_session(session_id, state)

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

Unmonitors a terminal session.