Class: Ecco::Client
- Inherits:
-
Object
- Object
- Ecco::Client
- Extended by:
- Forwardable
- Defined in:
- lib/ecco/client.rb
Constant Summary collapse
- DEFAULT_CONNECT_TIMEOUT =
ms
3000
Instance Method Summary collapse
- #connected? ⇒ Boolean
- #get_keep_alive_connect_timeout ⇒ Object
-
#initialize(hostname: "localhost", port: 3306, username:, password:) ⇒ Client
constructor
A new instance of Client.
- #on_communication_failure(&block) ⇒ Object
- #on_row_event(&block) ⇒ Object
- #on_save_position(&block) ⇒ Object
- #set_keep_alive_connect_timeout(timeout) ⇒ Object
- #start ⇒ Object
- #start_in_thread(connect_timeout: DEFAULT_CONNECT_TIMEOUT) ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize(hostname: "localhost", port: 3306, username:, password:) ⇒ Client
Returns a new instance of Client.
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ecco/client.rb', line 38 def initialize(hostname: "localhost", port: 3306, username:, password:) @client = BinaryLogClient.new(hostname, port, username, password) @row_event_listener = RowEventListener.new(self) @client.register_event_listener(@row_event_listener) @save_event_listener = SaveEventListener.new(self) @client.register_event_listener(@save_event_listener) @lifecycle_failure_listener = LifecycleFailureListener.new @client.register_lifecycle_listener(@lifecycle_failure_listener) end |
Instance Method Details
#connected? ⇒ Boolean
73 74 75 |
# File 'lib/ecco/client.rb', line 73 def connected? @client.is_connected end |
#get_keep_alive_connect_timeout ⇒ Object
21 22 23 24 25 26 |
# File 'lib/ecco/client.rb', line 21 def get_keep_alive_connect_timeout warn "[DEPRECATION] `#{__method__}` is deprecated. "\ "Please use `get_connect_timeout` instead." get_connect_timeout end |
#on_communication_failure(&block) ⇒ Object
59 60 61 |
# File 'lib/ecco/client.rb', line 59 def on_communication_failure(&block) @lifecycle_failure_listener.callback = block end |
#on_row_event(&block) ⇒ Object
55 56 57 |
# File 'lib/ecco/client.rb', line 55 def on_row_event(&block) @row_event_listener.callback = block end |
#on_save_position(&block) ⇒ Object
51 52 53 |
# File 'lib/ecco/client.rb', line 51 def on_save_position(&block) @save_event_listener.callback = block end |
#set_keep_alive_connect_timeout(timeout) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/ecco/client.rb', line 28 def set_keep_alive_connect_timeout(timeout) warn "[DEPRECATION] `#{__method__}` is deprecated. "\ "Please use `set_connect_timeout` instead." set_connect_timeout(timeout) end |
#start ⇒ Object
63 64 65 66 67 |
# File 'lib/ecco/client.rb', line 63 def start @client.connect rescue IOException => e raise Ecco::Error::ConnectionError, e. end |
#start_in_thread(connect_timeout: DEFAULT_CONNECT_TIMEOUT) ⇒ Object
69 70 71 |
# File 'lib/ecco/client.rb', line 69 def start_in_thread(connect_timeout: DEFAULT_CONNECT_TIMEOUT) @client.connect(connect_timeout) end |
#stop ⇒ Object
77 78 79 |
# File 'lib/ecco/client.rb', line 77 def stop @client.disconnect end |