Raxol.Core.Session.MultiplexerSession (Raxol v2.0.1)

View Source

Multiplexer session implementation for the unified session manager.

Provides tmux-like session management with:

  • Multiple terminal sessions with independent state
  • Window and pane management within sessions
  • Session persistence across disconnections
  • Remote session attachment and detachment
  • Session sharing and collaboration features

Summary

Functions

Attaches a client to the session.

Cleans up expired multiplexer sessions.

Creates a new multiplexer session.

Gets all sessions for a user (multiplexer sessions don't have user_id directly).

Creates a summary of the session for listing.

Types

t()

@type t() :: %Raxol.Core.Session.MultiplexerSession{
  active_window: String.t() | nil,
  clients: [map()],
  created_at: integer(),
  id: String.t(),
  last_activity: integer(),
  metadata: map(),
  name: String.t(),
  status: :active | :inactive | :detached,
  windows: [map()]
}

Functions

attach_client(session, client_config)

Attaches a client to the session.

cleanup_expired(sessions, config)

Cleans up expired multiplexer sessions.

create(name, config, global_config)

Creates a new multiplexer session.

get_user_sessions(user_id, sessions)

Gets all sessions for a user (multiplexer sessions don't have user_id directly).

summary(session)

Creates a summary of the session for listing.