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