class SimpleXChat::ClientAgent

def initialize(client_uri, connect: true, timeout_ms: 10_000, interval_ms: 100)

def initialize(client_uri, connect: true, timeout_ms: 10_000, interval_ms: 100)
  @uri = client_uri
  @message_queue = Queue.new
  @chat_message_queue = Queue.new
  @socket = nil
  @handshake = nil
  # Helpers for handling requests to and messages from the SXC client
  @listener_thread = nil
  @corr_id = Concurrent::AtomicFixnum.new(1) # Correlation ID for mapping client responses to command waiters
  @command_waiters = Concurrent::Hash.new
  @timeout_ms = timeout_ms
  @interval_ms = interval_ms
  @logger = Logging.logger
  self.connect if connect
  @logger.debug("Initialized ClientAgent")
end