Raxol.Terminal.SessionManager.Helpers (Raxol v2.0.1)

View Source

Helper functions for SessionManager operations.

Provides utilities for session cleanup, timing, and other session management tasks.

Summary

Functions

Cancels a cleanup timer.

Formats session info for display.

Generates a unique session ID.

Merges session options with defaults.

Checks if a session has expired based on last activity.

Starts a cleanup timer for periodic session maintenance.

Validates session configuration.

Functions

cancel_cleanup_timer(timer_ref)

@spec cancel_cleanup_timer(reference() | nil) :: :ok | {:error, :not_found}

Cancels a cleanup timer.

Parameters

  • timer_ref: Timer reference to cancel

Returns

  • :ok if timer was canceled
  • {:error, :not_found} if timer doesn't exist

format_session_info(session)

@spec format_session_info(map()) :: String.t()

Formats session info for display.

Parameters

  • session: Session data map

Returns

Formatted string

generate_session_id()

@spec generate_session_id() :: String.t()

Generates a unique session ID.

Returns

String session ID

merge_session_options(opts, defaults)

@spec merge_session_options(Keyword.t() | map(), map()) :: map()

Merges session options with defaults.

Parameters

  • opts: User-provided options
  • defaults: Default options

Returns

Merged options map

session_expired?(last_activity, timeout)

@spec session_expired?(integer(), non_neg_integer()) :: boolean()

Checks if a session has expired based on last activity.

Parameters

  • last_activity: Timestamp of last activity
  • timeout: Timeout duration in milliseconds

Returns

Boolean indicating if session is expired

start_cleanup_timer(interval)

@spec start_cleanup_timer(non_neg_integer()) :: reference()

Starts a cleanup timer for periodic session maintenance.

Parameters

  • interval: Time interval in milliseconds for cleanup

Returns

Timer reference

validate_session_config(config)

@spec validate_session_config(map()) :: {:ok, map()} | {:error, atom()}

Validates session configuration.

Parameters

  • config: Session configuration map

Returns

  • {:ok, config} if valid
  • {:error, reason} if invalid