sensu-transport 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2cdc17cbd6f9e0e4fd7725b6942e8ed1690dba37
4
- data.tar.gz: 93154f4c346571558290cb68891c414a24524381
3
+ metadata.gz: d6a38035e18fcea44cad21b1aba5594335e3ef30
4
+ data.tar.gz: 14eddc18dec551445e6fdd7d6341f807f774e82a
5
5
  SHA512:
6
- metadata.gz: 04780b034644b8f23e5acd80c5a0a7df10bd247cecf39729d28ec20c968b931d73dc334eed69c6295054778a83d75e9471fdb52ece4b987dfe90b50ad51b5827
7
- data.tar.gz: 92f1e633b476f33bc97e3bc2eeb6726cd3659d8c7790049c2a1b3eb3bd15006fd5169f398844c84017dba9ec4b077e8b84f0d4ed804f6b781e051c5ba84e6080
6
+ metadata.gz: 0d3821c33f596ed82e10d4642d80c48d290842ff2e61c8b1f1dad518056e663280b59a0386139f791296c2733813e52d218b5e6ee079bc06429628929099e866
7
+ data.tar.gz: ee7e04f7c3b4c3df7dabf5d2a5ffff42f3b1f99e74f49639db6d4be540ae13da61a00ae4c82fd4eda7af5386e81544bf355e48aab443ee8b67d4d74bd92a6a27
@@ -15,7 +15,7 @@ module Sensu
15
15
  @after_reconnect = Proc.new {}
16
16
  end
17
17
 
18
- # Sets the error callback.
18
+ # Set the error callback.
19
19
  #
20
20
  # @param callback [Proc] called in the event of a transport
21
21
  # error, the exception object should be passed as a parameter.
@@ -24,7 +24,7 @@ module Sensu
24
24
  @on_error = callback
25
25
  end
26
26
 
27
- # Sets the before reconnect callback.
27
+ # Set the before reconnect callback.
28
28
  #
29
29
  # @param callback [Proc] called before attempting to reconnect
30
30
  # to the transport.
@@ -33,7 +33,7 @@ module Sensu
33
33
  @before_reconnect = callback
34
34
  end
35
35
 
36
- # Sets the after reconnect callback.
36
+ # Set the after reconnect callback.
37
37
  #
38
38
  # @param callback [Proc] called after reconnecting to the
39
39
  # transport.
@@ -47,6 +47,9 @@ module Sensu
47
47
  # @param options [Hash, String]
48
48
  def connect(options={}); end
49
49
 
50
+ # Reconnect to the transport.
51
+ def reconnect; end
52
+
50
53
  # Indicates if connected to the transport.
51
54
  #
52
55
  # @return [TrueClass, FalseClass]
@@ -13,27 +13,29 @@ module Sensu
13
13
  end
14
14
 
15
15
  def connect(options={})
16
- timeout = create_connection_timeout
17
- on_failure = on_connection_failure
16
+ create_connection_timeout
18
17
  @connection = AMQP.connect(options, {
19
- :on_tcp_connection_failure => on_failure,
20
- :on_possible_authentication_failure => on_failure
18
+ :on_tcp_connection_failure => on_connection_failure,
19
+ :on_possible_authentication_failure => on_connection_failure
21
20
  })
22
21
  @connection.logger = @logger
23
22
  @connection.on_open do
24
- timeout.cancel
23
+ @connection_timeout.cancel
25
24
  end
26
- reconnect = Proc.new do
27
- unless @connection.reconnecting?
28
- @before_reconnect.call
29
- @connection.periodically_reconnect(5)
30
- end
31
- end
32
- @connection.on_tcp_connection_loss(&reconnect)
33
- @connection.on_skipped_heartbeats(&reconnect)
25
+ reconnect_callback = Proc.new { reconnect }
26
+ @connection.on_tcp_connection_loss(&reconnect_callback)
27
+ @connection.on_skipped_heartbeats(&reconnect_callback)
34
28
  setup_channel(options)
35
29
  end
36
30
 
31
+ def reconnect
32
+ unless @connection.reconnecting?
33
+ @connection_timeout.cancel
34
+ @before_reconnect.call
35
+ @connection.periodically_reconnect(5)
36
+ end
37
+ end
38
+
37
39
  def connected?
38
40
  @connection.connected?
39
41
  end
@@ -98,7 +100,7 @@ module Sensu
98
100
  private
99
101
 
100
102
  def create_connection_timeout
101
- EM::Timer.new(20) do
103
+ @connection_timeout = EM::Timer.new(20) do
102
104
  error = Error.new("timed out while attempting to connect to rabbitmq")
103
105
  @on_error.call(error)
104
106
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "sensu-transport"
5
- spec.version = "0.0.3"
5
+ spec.version = "0.0.4"
6
6
  spec.authors = ["Sean Porter"]
7
7
  spec.email = ["portertech@gmail.com"]
8
8
  spec.summary = "The Sensu transport abstraction library"
data/spec/base_spec.rb CHANGED
@@ -10,7 +10,7 @@ describe "Sensu::Transport::Base" do
10
10
 
11
11
  it "provides a transport API (noop)" do
12
12
  @transport.should respond_to(:on_error, :before_reconnect, :after_reconnect,
13
- :connect, :connected?, :close,
13
+ :connect, :reconnect, :connected?, :close,
14
14
  :publish, :subscribe, :unsubscribe,
15
15
  :acknowledge, :ack, :stats)
16
16
  end
@@ -22,6 +22,7 @@ describe "Sensu::Transport::Base" do
22
22
  @transport.after_reconnect(&callback).should be_an_instance_of(Proc)
23
23
  @transport.connect.should eq(nil)
24
24
  @transport.connect({}).should eq(nil)
25
+ @transport.reconnect.should eq(nil)
25
26
  @transport.connected?.should eq(false)
26
27
  @transport.close.should eq(nil)
27
28
  @transport.publish("foo", "bar", "baz").should eq(nil)
@@ -13,7 +13,7 @@ describe "Sensu::Transport::RabbitMQ" do
13
13
 
14
14
  it "provides a transport API" do
15
15
  @transport.should respond_to(:on_error, :before_reconnect, :after_reconnect,
16
- :connect, :connected?, :close,
16
+ :connect, :reconnect, :connected?, :close,
17
17
  :publish, :subscribe, :unsubscribe,
18
18
  :acknowledge, :ack, :stats)
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Porter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-27 00:00:00.000000000 Z
11
+ date: 2014-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-em