name: Connection
class_comment: null
dependencies:
- name: Closure
  type: class
  source: Closure
- name: Dispatcher
  type: class
  source: Illuminate\Contracts\Events\Dispatcher
- name: CommandExecuted
  type: class
  source: Illuminate\Redis\Events\CommandExecuted
- name: ConcurrencyLimiterBuilder
  type: class
  source: Illuminate\Redis\Limiters\ConcurrencyLimiterBuilder
- name: DurationLimiterBuilder
  type: class
  source: Illuminate\Redis\Limiters\DurationLimiterBuilder
- name: Macroable
  type: class
  source: Illuminate\Support\Traits\Macroable
properties:
- name: client
  visibility: protected
  comment: '# * The Redis client.

    # *

    # * @var \Redis'
- name: name
  visibility: protected
  comment: '# * The Redis connection name.

    # *

    # * @var string|null'
- name: events
  visibility: protected
  comment: '# * The event dispatcher instance.

    # *

    # * @var \Illuminate\Contracts\Events\Dispatcher'
methods:
- name: funnel
  visibility: public
  parameters:
  - name: name
  comment: "# * The Redis client.\n# *\n# * @var \\Redis\n# */\n# protected $client;\n\
    # \n# /**\n# * The Redis connection name.\n# *\n# * @var string|null\n# */\n#\
    \ protected $name;\n# \n# /**\n# * The event dispatcher instance.\n# *\n# * @var\
    \ \\Illuminate\\Contracts\\Events\\Dispatcher\n# */\n# protected $events;\n# \n\
    # /**\n# * Subscribe to a set of given channels for messages.\n# *\n# * @param\
    \  array|string  $channels\n# * @param  \\Closure  $callback\n# * @param  string\
    \  $method\n# * @return void\n# */\n# abstract public function createSubscription($channels,\
    \ Closure $callback, $method = 'subscribe');\n# \n# /**\n# * Funnel a callback\
    \ for a maximum number of simultaneous executions.\n# *\n# * @param  string  $name\n\
    # * @return \\Illuminate\\Redis\\Limiters\\ConcurrencyLimiterBuilder"
- name: throttle
  visibility: public
  parameters:
  - name: name
  comment: '# * Throttle a callback for a maximum number of executions over a given
    duration.

    # *

    # * @param  string  $name

    # * @return \Illuminate\Redis\Limiters\DurationLimiterBuilder'
- name: client
  visibility: public
  parameters: []
  comment: '# * Get the underlying Redis client.

    # *

    # * @return mixed'
- name: subscribe
  visibility: public
  parameters:
  - name: channels
  - name: callback
  comment: '# * Subscribe to a set of given channels for messages.

    # *

    # * @param  array|string  $channels

    # * @param  \Closure  $callback

    # * @return void'
- name: psubscribe
  visibility: public
  parameters:
  - name: channels
  - name: callback
  comment: '# * Subscribe to a set of given channels with wildcards.

    # *

    # * @param  array|string  $channels

    # * @param  \Closure  $callback

    # * @return void'
- name: command
  visibility: public
  parameters:
  - name: method
  - name: parameters
    default: '[]'
  comment: '# * Run a command against the Redis database.

    # *

    # * @param  string  $method

    # * @param  array  $parameters

    # * @return mixed'
- name: parseParametersForEvent
  visibility: protected
  parameters:
  - name: parameters
  comment: '# * Parse the command''s parameters for event dispatching.

    # *

    # * @param  array  $parameters

    # * @return array'
- name: event
  visibility: protected
  parameters:
  - name: event
  comment: '# * Fire the given event if possible.

    # *

    # * @param  mixed  $event

    # * @return void

    # *

    # * @deprecated since Laravel 11.x'
- name: listen
  visibility: public
  parameters:
  - name: callback
  comment: '# * Register a Redis command listener with the connection.

    # *

    # * @param  \Closure  $callback

    # * @return void'
- name: getName
  visibility: public
  parameters: []
  comment: '# * Get the connection name.

    # *

    # * @return string|null'
- name: setName
  visibility: public
  parameters:
  - name: name
  comment: '# * Set the connections name.

    # *

    # * @param  string  $name

    # * @return $this'
- name: getEventDispatcher
  visibility: public
  parameters: []
  comment: '# * Get the event dispatcher used by the connection.

    # *

    # * @return \Illuminate\Contracts\Events\Dispatcher'
- name: setEventDispatcher
  visibility: public
  parameters:
  - name: events
  comment: '# * Set the event dispatcher instance on the connection.

    # *

    # * @param  \Illuminate\Contracts\Events\Dispatcher  $events

    # * @return void'
- name: unsetEventDispatcher
  visibility: public
  parameters: []
  comment: '# * Unset the event dispatcher instance on the connection.

    # *

    # * @return void'
- name: __call
  visibility: public
  parameters:
  - name: method
  - name: parameters
  comment: '# * Pass other method calls down to the underlying client.

    # *

    # * @param  string  $method

    # * @param  array  $parameters

    # * @return mixed'
traits:
- Closure
- Illuminate\Contracts\Events\Dispatcher
- Illuminate\Redis\Events\CommandExecuted
- Illuminate\Redis\Limiters\ConcurrencyLimiterBuilder
- Illuminate\Redis\Limiters\DurationLimiterBuilder
- Illuminate\Support\Traits\Macroable
interfaces: []