Method: TD::Client#initialize

Defined in:
lib/tdlib/client.rb

#initialize(td_client = TD::Api.client_create, update_manager = TD::UpdateManager.new(td_client), timeout: TIMEOUT, **extra_config) ⇒ Client

Returns a new instance of Client.

Parameters:

  • td_client (FFI::Pointer) (defaults to: TD::Api.client_create)
  • update_manager (TD::UpdateManager) (defaults to: TD::UpdateManager.new(td_client))
  • timeout (Numeric) (defaults to: TIMEOUT)
  • extra_config (Hash)

    optional configuration hash that will be merged into tdlib client configuration



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/tdlib/client.rb', line 18

def initialize(td_client = TD::Api.client_create,
               update_manager = TD::UpdateManager.new(td_client),
               timeout: TIMEOUT,
               **extra_config)
  @td_client = td_client
  @ready = false
  @alive = true
  @update_manager = update_manager
  @timeout = timeout
  @config = TD.config.client.to_h.merge(extra_config)
  @ready_condition_mutex = Mutex.new
  @ready_condition = ConditionVariable.new
end