stomp:mainline.git
4 years agoRelease 1.3.1 v1.3.1
Ian Smith [Wed, 2 Oct 2013 18:59:19 +0000 (11:59 -0700)]
Release 1.3.1

4 years agoWrap calls to @logger methods in a conditional that checks if the logger
Ian Smith [Wed, 2 Oct 2013 18:16:13 +0000 (11:16 -0700)]
Wrap calls to @logger methods in a conditional that checks if the logger
responds to that method.

Issue #83

4 years agoRelease 1.3.0 v1.3.0
Ian Smith [Mon, 30 Sep 2013 17:17:58 +0000 (10:17 -0700)]
Release 1.3.0

4 years agoMerge pull request #75 from OrazioWE7/anonymousConnections
Ian Smith [Mon, 30 Sep 2013 17:15:17 +0000 (10:15 -0700)]
Merge pull request #75 from OrazioWE7/anonymousConnections

Anonymous connections

4 years agoMerge pull request #81 from ismith/error_logging
Ian Smith [Fri, 27 Sep 2013 23:19:56 +0000 (16:19 -0700)]
Merge pull request #81 from ismith/error_logging

ERROR frame handling; on receipt of an ERROR frame, an exception will be raised in the thread that has the Stomp::Client object.

4 years agoERROR frame handling.
Ian Smith [Thu, 12 Sep 2013 21:27:43 +0000 (14:27 -0700)]
ERROR frame handling.

The handler will raise an exception in the thread that has the Stomp::Client
object on receipt of ERROR frames.

(ppaul/6540400, #3)

4 years agosetsocketopt wants a *boolean*, not a nil
Ian Smith [Fri, 27 Sep 2013 21:57:06 +0000 (14:57 -0700)]
setsocketopt wants a *boolean*, not a nil

4 years agoadopted solution discussed in forum
Orazio Cotroneo [Thu, 26 Sep 2013 14:08:32 +0000 (15:08 +0100)]
adopted solution discussed in forum

4 years agoIssue #78
Ian Smith [Thu, 26 Sep 2013 02:24:09 +0000 (19:24 -0700)]
Issue #78

4 years agoMerge branch 'null_logger' into dev
Ian Smith [Wed, 25 Sep 2013 19:55:45 +0000 (12:55 -0700)]
Merge branch 'null_logger' into dev

Conflicts:
lib/stomp/client.rb

4 years agoAdded Stomp::Errors::StartTimeoutException
Ian Smith [Wed, 25 Sep 2013 19:54:52 +0000 (12:54 -0700)]
Added Stomp::Errors::StartTimeoutException

4 years agoAdd marshalling methods to Slogger.
Ian Smith [Wed, 25 Sep 2013 19:44:08 +0000 (12:44 -0700)]
Add marshalling methods to Slogger.

4 years agoMerge pull request #76 from ismith/tcp_nodelay
Ian Smith [Wed, 25 Sep 2013 19:40:34 +0000 (12:40 -0700)]
Merge pull request #76 from ismith/tcp_nodelay

Turned on the TCP_NODELAY socket option (disables Nagle's algorithm)

4 years agoAdded a NullLogger, made it the default.
Ian Smith [Thu, 12 Sep 2013 21:21:44 +0000 (14:21 -0700)]
Added a NullLogger, made it the default.

This lets us remove several instances of `if @logger &&
@logger.respond_to?(:some_method)`

(https://gist.github.com/ppaul/6540400, #9)

4 years agoBugfixes for TCP_NODELAY commit.
Ian Smith [Mon, 23 Sep 2013 19:03:55 +0000 (12:03 -0700)]
Bugfixes for TCP_NODELAY commit.

4 years agoTurned on the TCP_NODELAY socket option (disables Nagle's algorithm)
Ian Smith [Thu, 12 Sep 2013 21:12:58 +0000 (14:12 -0700)]
Turned on the TCP_NODELAY socket option (disables Nagle's algorithm)

Tests show an 8-20 fold improvement in throughput. Messages under 1500 total
bytes benefit the most. Even with messages of 10K in size there's still a 30%
improvement in throughput; that's a lot. Tested with JRuby 1.7.3 and Ruby EE
1.9.3 on RHEL 6.1 against ActiveMQ 5.8.0 (also running on RHEL 6.1).

Default is true, but can TCP_NODELAY can be turned off by putting :tcp_nodelay
=> false in the parameters hash.

(ppaul/6540400, #8)

4 years agoFix for Client#set_logger; it was setting the @connection's logger, but not its own.
Ian Smith [Thu, 12 Sep 2013 21:01:34 +0000 (14:01 -0700)]
Fix for Client#set_logger; it was setting the @connection's logger, but not its own.

(ppaul/6540400, #11)

4 years agoRead receipts as UUIDs.
Ian Smith [Thu, 12 Sep 2013 21:41:17 +0000 (14:41 -0700)]
Read receipts as UUIDs.

This makes correlating a application's log with the broker's stomp log a lot
easier. Consider the scenario where a web application is instantiating a Client
object per web request, sends a couple of messages then closes it.  There'll be
thousands of entries in the broker's stomp log where all messages and receipts
have id values that rarely exceeded 2 or 3, say.

(ppaul/6540400, #5)

4 years agoAdded startup timeout, duration can be set via the :start_timeout parameter.
Ian Smith [Thu, 12 Sep 2013 21:16:49 +0000 (14:16 -0700)]
Added startup timeout, duration can be set via the :start_timeout parameter.

(ppaul/6540400, #4)

4 years agoWhitespace cleanup
Ian Smith [Thu, 12 Sep 2013 21:43:55 +0000 (14:43 -0700)]
Whitespace cleanup

4 years agoRelease 1.12.16. v1.2.16
Ian Smith [Thu, 12 Sep 2013 18:39:13 +0000 (11:39 -0700)]
Release 1.12.16.

4 years agoMerge pull request #74 from ismith/client_params
Ian Smith [Thu, 12 Sep 2013 18:31:31 +0000 (11:31 -0700)]
Merge pull request #74 from ismith/client_params

Stomp::Client's connection's host params should be exposed in the client.

4 years agoCleaned up some regex.
Ian Smith [Thu, 12 Sep 2013 18:03:55 +0000 (11:03 -0700)]
Cleaned up some regex.

4 years agoUse Forwardable to delegate Client's parameters to the @connection.
Ian Smith [Thu, 12 Sep 2013 17:38:12 +0000 (10:38 -0700)]
Use Forwardable to delegate Client's parameters to the @connection.

4 years agoStomp::Client's connection's host params should be exposed in the client.
Ian Smith [Wed, 11 Sep 2013 19:19:30 +0000 (12:19 -0700)]
Stomp::Client's connection's host params should be exposed in the client.

That way, a Stomp::Client always knows which host it is currently connected to.

4 years agoMaintain license info in Rakefile.
gmallard [Sun, 8 Sep 2013 13:52:34 +0000 (09:52 -0400)]
Maintain license info in Rakefile.

4 years agoVersion bump.
gmallard [Sun, 8 Sep 2013 13:44:47 +0000 (09:44 -0400)]
Version bump.

4 years agoAdd user specified timeout for initial CONNECTED/ERROR frame read.
gmallard [Sat, 7 Sep 2013 20:40:13 +0000 (16:40 -0400)]
Add user specified timeout for initial CONNECTED/ERROR frame read.

Connection parameter :connread_timeout is added.
The default value is 0, no timeout.
Ensure reconnect attempts play nice with :connread_timeout.
Ensure spec tests play nice with :connread_timeout.

4 years agoEliminate dup Timeout::timeout in ssl connect.
gmallard [Sat, 7 Sep 2013 13:06:44 +0000 (09:06 -0400)]
Eliminate dup Timeout::timeout in ssl connect.

4 years agoMerge pull request #71 from stompgem/license_in_gemspec
Ian Smith [Fri, 23 Aug 2013 03:41:33 +0000 (20:41 -0700)]
Merge pull request #71 from stompgem/license_in_gemspec

Add license information to gemspec.  This fixes #69.

4 years agoAdd license information to gemspec. This fixes #69.
Ian Smith [Fri, 23 Aug 2013 03:25:37 +0000 (20:25 -0700)]
Add license information to gemspec.  This fixes #69.

4 years agoGem version 1.2.14 v1.2.14
Ian Smith [Mon, 19 Aug 2013 07:15:52 +0000 (00:15 -0700)]
Gem version 1.2.14

4 years agoVersion bump.
Ian Smith [Mon, 19 Aug 2013 07:10:53 +0000 (00:10 -0700)]
Version bump.

4 years agoPrevent dup subscription header on re-receive.
gmallard [Sun, 18 Aug 2013 15:56:35 +0000 (11:56 -0400)]
Prevent dup subscription header on re-receive.

4 years agoMerge branch 'master' into dev
gmallard [Sun, 18 Aug 2013 16:10:12 +0000 (12:10 -0400)]
Merge branch 'master' into dev

4 years agoGem version 1.2.13 v1.2.13
Ian Smith [Sun, 18 Aug 2013 01:38:19 +0000 (18:38 -0700)]
Gem version 1.2.13

4 years agoUnit test for 6c2c1c1, restricted for now to:
gmallard [Sat, 17 Aug 2013 18:14:14 +0000 (14:14 -0400)]
Unit test for 6c2c1c1, restricted for now to:

- ActiveMQ, any protocol level
- Apollo, protocol level 1.0

Redeliveries currently fail for:
- Apollo, protocol levels 1.1 and 1.2
- RabbitMQ, any protocol level

Cause: TBD

4 years agoMerge pull request #68 from ismith/dev
Guy M. Allard [Fri, 16 Aug 2013 17:24:45 +0000 (10:24 -0700)]
Merge pull request #68 from ismith/dev

Stomp::Client#unreceive should not off-by-one max_redeliveries.

4 years agoStomp::Client#unreceive should not off-by-one max_redeliveries.
Ian Smith [Fri, 16 Aug 2013 04:28:21 +0000 (21:28 -0700)]
Stomp::Client#unreceive should not off-by-one max_redeliveries.

4 years agoUpdate comments in SSL examples.
gmallard [Mon, 12 Aug 2013 12:18:34 +0000 (08:18 -0400)]
Update comments in SSL examples.

4 years agoBelated update of contributor's list.
gmallard [Mon, 12 Aug 2013 12:13:51 +0000 (08:13 -0400)]
Belated update of contributor's list.

4 years agoGem version 1.2.12 v1.2.12
gmallard [Sun, 11 Aug 2013 19:17:27 +0000 (15:17 -0400)]
Gem version 1.2.12

4 years agoVersion bump
gmallard [Sun, 11 Aug 2013 19:05:27 +0000 (15:05 -0400)]
Version bump

4 years agoIssue #66, failover URL regex should allow a single broker
gmallard [Sun, 11 Aug 2013 19:00:17 +0000 (15:00 -0400)]
Issue #66, failover URL regex should allow a single broker

4 years agoIssue #65, non-word characters, login and passcode.
gmallard [Sat, 10 Aug 2013 17:15:27 +0000 (13:15 -0400)]
Issue #65, non-word characters, login and passcode.

4 years agoRemove extraneous private declarations.
gmallard [Sat, 10 Aug 2013 11:57:15 +0000 (07:57 -0400)]
Remove extraneous private declarations.

4 years agoSquelch warning during unit tests.
gmallard [Fri, 9 Aug 2013 17:39:39 +0000 (13:39 -0400)]
Squelch warning during unit tests.

4 years agoIssue #63, fast spurious fail overs.
gmallard [Fri, 9 Aug 2013 11:58:26 +0000 (07:58 -0400)]
Issue #63, fast spurious fail overs.

Added connection parameter to allow clients to supply
an adjustment value to the sender heartbeat sleep time.
See notes/heartbeat_readme.txt for guidance on use.

4 years agoProper cleanup when not reliable and EOF from broker
gmallard [Sun, 4 Aug 2013 16:11:02 +0000 (12:11 -0400)]
Proper cleanup when not reliable and EOF from broker

4 years agoMerge pull request #67 from chirino/master
Guy M. Allard [Fri, 9 Aug 2013 12:03:14 +0000 (05:03 -0700)]
Merge pull request #67 from chirino/master

Set the SSL hostname so that SSL SNI based proxies can route a connection

4 years agoThe SSL hostname so that SSL SNI based proxies can route a connection properly.
Hiram Chirino [Wed, 7 Aug 2013 17:56:11 +0000 (13:56 -0400)]
The SSL hostname so that SSL SNI based proxies can route a connection properly.

4 years agoIssue #63, nil client message, rapid AMQ restarts
gmallard [Sat, 3 Aug 2013 15:14:54 +0000 (11:14 -0400)]
Issue #63, nil client message, rapid AMQ restarts

At present this does not implement suggested
changes to the heartbeating logic.

4 years agoCorrect long hidden test problem with RabbitMQ.
gmallard [Mon, 29 Jul 2013 22:17:34 +0000 (18:17 -0400)]
Correct long hidden test problem with RabbitMQ.

4 years agoEnhance JRuby support in unit tests.
gmallard [Mon, 29 Jul 2013 19:35:34 +0000 (15:35 -0400)]
Enhance JRuby support in unit tests.

4 years agoFix infinite loop when max_reconnect_attempts is reached.
Ian Smith [Mon, 29 Jul 2013 20:58:54 +0000 (13:58 -0700)]
Fix infinite loop when max_reconnect_attempts is reached.

4 years agoGem version 1.2.11. See CHANGELOG for details. v1.2.11
gmallard [Sun, 28 Jul 2013 22:22:07 +0000 (18:22 -0400)]
Gem version 1.2.11.  See CHANGELOG for details.

4 years agoTest connection ack/abort reworkfor protocol 1.2.
gmallard [Sun, 28 Jul 2013 17:36:31 +0000 (13:36 -0400)]
Test connection ack/abort reworkfor protocol 1.2.

4 years agoJRuby environment changes:
gmallard [Sat, 27 Jul 2013 22:22:22 +0000 (18:22 -0400)]
JRuby environment changes:

Fix hang in client receives
Possibly fix client timeout issues
Attempt tp detect JRuby and behave properly
Add tests for detecting JRuby

4 years agoVersion bump.
gmallard [Sat, 27 Jul 2013 17:11:56 +0000 (13:11 -0400)]
Version bump.

4 years agoMake ACK test more representative.
gmallard [Thu, 25 Jul 2013 19:30:23 +0000 (15:30 -0400)]
Make ACK test more representative.

4 years agoRemove test restriction for Rabbit testing.
gmallard [Wed, 24 Jul 2013 19:56:12 +0000 (15:56 -0400)]
Remove test restriction for Rabbit testing.

4 years agoFix issue #58, nil message on AMQ shutdown.
gmallard [Fri, 12 Jul 2013 12:40:16 +0000 (08:40 -0400)]
Fix issue #58, nil message on AMQ shutdown.

4 years agoGem version 1.2.10. See CHANGELOG for details. v1.2.10
gmallard [Mon, 8 Jul 2013 14:33:53 +0000 (10:33 -0400)]
Gem version 1.2.10.  See CHANGELOG for details.

4 years agoDetect nil?/EOF on HB read, failover if reliable.
gmallard [Wed, 26 Jun 2013 16:54:31 +0000 (12:54 -0400)]
Detect nil?/EOF on HB read, failover if reliable.

4 years agoAdd notes on use of heartbeats.
gmallard [Thu, 20 Jun 2013 13:12:49 +0000 (09:12 -0400)]
Add notes on use of heartbeats.

4 years agoSet sync_close to true for SSL connection.
gmallard [Mon, 20 May 2013 19:13:38 +0000 (15:13 -0400)]
Set sync_close to true for SSL connection.

4 years agoUpdate SSL use case examples.
gmallard [Sun, 19 May 2013 21:34:42 +0000 (17:34 -0400)]
Update SSL use case examples.

4 years agoChange comparison operator for more clarity.
gmallard [Sat, 18 May 2013 17:16:01 +0000 (13:16 -0400)]
Change comparison operator for more clarity.

4 years agoUpdate spec tests with new parameters.
gmallard [Sat, 18 May 2013 17:06:53 +0000 (13:06 -0400)]
Update spec tests with new parameters.

4 years agoAdd missed comment about new HB read lock parameter.
gmallard [Sat, 18 May 2013 17:05:01 +0000 (13:05 -0400)]
Add missed comment about new HB read lock parameter.

4 years agoTweak callback logger used in unit tests.
gmallard [Sat, 18 May 2013 15:21:57 +0000 (11:21 -0400)]
Tweak callback logger used in unit tests.

4 years agoTweak callback logger example.
gmallard [Sat, 18 May 2013 15:01:28 +0000 (11:01 -0400)]
Tweak callback logger example.

4 years agoRetry new connection on HB read lock obtain fail.
gmallard [Sat, 18 May 2013 14:48:14 +0000 (10:48 -0400)]
Retry new connection on HB read lock obtain fail.

When @reliable is true, and a read heart-beat can not obtain the
read lock, clean up the current environment, and attempt a
fail over reconnect under the following conditions:

* The :max_hbrlck_fails connect hash parameter is greater than 0
* The running obtain failure count is greater than :max_hbrlck_fails

4 years agoAdd exception handling to heartbeat reader.
gmallard [Fri, 17 May 2013 18:36:04 +0000 (14:36 -0400)]
Add exception handling to heartbeat reader.

4 years agoCorrect another case where fail over host is not switched correctly.
gmallard [Wed, 15 May 2013 19:45:25 +0000 (15:45 -0400)]
Correct another case where fail over host is not switched correctly.

4 years agoRetry new connection when HB read fails. First cut:
gmallard [Wed, 15 May 2013 17:09:02 +0000 (13:09 -0400)]
Retry new connection when HB read fails. First cut:

When @reliable is true, and a heart-beat receive fails,
clean up the current environment, and attempt a
fail over reconnect under the following conditions:

* The :max_hbread_fails connect hash parameter is greater than 0
* The running read failure count is greater than :max_hbread_fails

4 years agoRetry new connection when HB send fails.
gmallard [Tue, 14 May 2013 18:14:50 +0000 (14:14 -0400)]
Retry new connection when HB send fails.

When @reliable is true, and a heart-beat send fails,
clean up the current environment, and attempt a
fail over reconnect.

4 years agoConsolidate logic that prepares for a reconnect retry.
gmallard [Mon, 13 May 2013 18:40:10 +0000 (14:40 -0400)]
Consolidate logic that prepares for a reconnect retry.

4 years agoOn connect retry, kill any pre-existing HB ticker threads.
gmallard [Mon, 13 May 2013 17:42:37 +0000 (13:42 -0400)]
On connect retry, kill any pre-existing HB ticker threads.

4 years agoCorrect failover error: failing host is immediately retried.
gmallard [Mon, 13 May 2013 16:52:09 +0000 (12:52 -0400)]
Correct failover error: failing host is immediately retried.

4 years agoVersion bump. Will happen eventually.
gmallard [Sun, 12 May 2013 23:41:11 +0000 (19:41 -0400)]
Version bump.  Will happen eventually.

4 years agoDefensive coding against @socket.nil?
gmallard [Fri, 12 Apr 2013 23:22:34 +0000 (19:22 -0400)]
Defensive coding against @socket.nil?

4 years agoAddress issue #57
gmallard [Sat, 11 May 2013 12:33:01 +0000 (08:33 -0400)]
Address issue #57

4 years agoFix Issue #56, missing id header.
gmallard [Thu, 11 Apr 2013 13:00:48 +0000 (09:00 -0400)]
Fix Issue #56, missing id header.

4 years agoAdd additional callback logger method support.
gmallard [Thu, 11 Apr 2013 12:53:56 +0000 (08:53 -0400)]
Add additional callback logger method support.

4 years agoGem version 1.2.9. See CHANGELOG for details. v1.2.9
gmallard [Thu, 28 Mar 2013 23:04:05 +0000 (19:04 -0400)]
Gem version 1.2.9.  See CHANGELOG for details.

4 years agoManually revert Gemfile add commit d7d3ad0. Please:
gmallard [Wed, 27 Mar 2013 22:19:49 +0000 (18:19 -0400)]
Manually revert Gemfile add commit d7d3ad0.  Please:

Do not make this gem unbuildable via 'rake build',
using any combination of Ruby version and gem version.

The gem must be buildable under any circumstances.

4 years agoMerge pull request #53 from glennr/gr_gemfile
Guy M. Allard [Sat, 16 Mar 2013 14:48:18 +0000 (07:48 -0700)]
Merge pull request #53 from glennr/gr_gemfile

add gemfile

4 years agoMerge pull request #54 from glennr/gr_cosmetic_fixes
Guy M. Allard [Sat, 16 Mar 2013 14:47:45 +0000 (07:47 -0700)]
Merge pull request #54 from glennr/gr_cosmetic_fixes

Gr cosmetic fixes

4 years agoadd gemfile
glennr [Thu, 14 Mar 2013 14:09:43 +0000 (16:09 +0200)]
add gemfile

4 years agocosmetic: refactor long constructor method
glennr [Thu, 14 Mar 2013 13:54:40 +0000 (15:54 +0200)]
cosmetic: refactor long constructor method

4 years agofix confusing test/user params in readme
glennr [Thu, 14 Mar 2013 13:12:22 +0000 (15:12 +0200)]
fix confusing test/user params in readme

4 years agoFix test source encoding under Ruby 2.0.0p0.
gmallard [Sun, 24 Feb 2013 14:53:18 +0000 (09:53 -0500)]
Fix test source encoding under Ruby 2.0.0p0.

4 years agoAdd regression test for suppress content length with AMQ.
gmallard [Sat, 23 Feb 2013 14:59:33 +0000 (09:59 -0500)]
Add regression test for suppress content length with AMQ.

4 years agoFix content length test broken by 774df62.
gmallard [Sat, 23 Feb 2013 14:58:20 +0000 (09:58 -0500)]
Fix content length test broken by 774df62.

4 years agoIssue #50 for Stomp::Client instances on reconnects.
gmallard [Fri, 22 Feb 2013 16:12:28 +0000 (11:12 -0500)]
Issue #50 for Stomp::Client instances on reconnects.

4 years agoMerge pull request #52 from jphastings/master
Guy M. Allard [Fri, 22 Feb 2013 17:05:55 +0000 (09:05 -0800)]
Merge pull request #52 from jphastings/master

Fix bug with :suppress_content_length on STOMP 1.1 protocol

4 years agoAdheres to the :suppress_content_length => true command when using STOMP 1.1
JP Hastings-Spital [Wed, 20 Feb 2013 16:16:10 +0000 (16:16 +0000)]
Adheres to the :suppress_content_length => true command when using STOMP 1.1

4 years agoFix reference in documentation to client.send => client.publish
JP Hastings-Spital [Wed, 20 Feb 2013 14:00:30 +0000 (14:00 +0000)]
Fix reference in documentation to client.send => client.publish

4 years agoGem version 1.2.8. See CHANGELOG.rdoc for details v1.2.8
gmallard [Sat, 29 Dec 2012 03:44:46 +0000 (22:44 -0500)]
Gem version 1.2.8.  See CHANGELOG.rdoc for details