stomp:mainline.git
3 years agoGem version 1.3.2. v1.3.2
gmallard [Sun, 8 Dec 2013 14:09:06 +0000 (09:09 -0500)]
Gem version 1.3.2.

3 years agoMerge branch 'dev', release prep.
gmallard [Sun, 8 Dec 2013 13:45:21 +0000 (08:45 -0500)]
Merge branch 'dev', release prep.

b19da96 Merge pull request #91 from gmallard/dev
a6962c6 Fixes from RSpec testing
c9d3299 Merge branch 'logging' into dev
1ea0706 Clean up logger interfacing.
3daa88b Merge pull request #90 from gmallard/dev
70180dd Issue #78, again.
a84db0f Do not change caller's :hosts array, try 2.
35edeb1 Expanded list of STOMP default SSL ciphers:
b524af8 Fix ssl => true for Ruby 1.9.x and 2.x.
49f41b8 Copy hash params at init.
675d476 SSL Fix, revert not setting default ciphers.
cdb63f1 start_timeout and tcp_nodelay parameters:
485bb15 Complete revert to previous logger logic.
d106c13 Merge pull request #89 from gmallard/dev
bfa882a Fix TypeError on connect timeout with 1.8.x, 2.x.
17e5ab4 Anon tests assigned unique class name.

3 years agoMerge pull request #91 from gmallard/dev
Guy M. Allard [Sat, 7 Dec 2013 17:19:18 +0000 (09:19 -0800)]
Merge pull request #91 from gmallard/dev

RSpec test updates and logger rework.

3 years agoFixes from RSpec testing
gmallard [Wed, 4 Dec 2013 19:30:00 +0000 (14:30 -0500)]
Fixes from RSpec testing

3 years agoMerge branch 'logging' into dev
gmallard [Wed, 4 Dec 2013 19:02:07 +0000 (14:02 -0500)]
Merge branch 'logging' into dev

Logging calls cleanup, consolidation.

3 years agoClean up logger interfacing.
gmallard [Tue, 3 Dec 2013 20:24:54 +0000 (15:24 -0500)]
Clean up logger interfacing.

3 years agoMerge pull request #90 from gmallard/dev
Guy M. Allard [Tue, 3 Dec 2013 14:37:19 +0000 (06:37 -0800)]
Merge pull request #90 from gmallard/dev

Complete revert to previous logger logic.
start_timeout and tcp_nodelay parameters:
SSL Fix, revert not setting default ciphers.
Copy hash params at init.
Fix ssl => true for Ruby 1.9.x and 2.x.
Expanded list of STOMP default SSL ciphers:
Do not change caller's :hosts array, try 2.
Issue #78, again.

3 years agoIssue #78, again.
gmallard [Sun, 1 Dec 2013 20:37:55 +0000 (15:37 -0500)]
Issue #78, again.

3 years agoDo not change caller's :hosts array, try 2.
gmallard [Sun, 1 Dec 2013 19:13:39 +0000 (14:13 -0500)]
Do not change caller's :hosts array, try 2.

3 years agoExpanded list of STOMP default SSL ciphers:
gmallard [Sun, 1 Dec 2013 00:40:44 +0000 (19:40 -0500)]
Expanded list of STOMP default SSL ciphers:

This default cipher list is quite close to Ruby 1.9.x
and 2.x ciphers.  This list works with Ruby 1.8.x as well.
Useful for those who really need it.

Please enter the commit message for your changes. Lines starting

3 years agoFix ssl => true for Ruby 1.9.x and 2.x.
gmallard [Fri, 29 Nov 2013 16:01:01 +0000 (11:01 -0500)]
Fix ssl => true for Ruby 1.9.x and 2.x.

3 years agoCopy hash params at init.
gmallard [Fri, 29 Nov 2013 16:46:39 +0000 (11:46 -0500)]
Copy hash params at init.

3 years agoSSL Fix, revert not setting default ciphers.
gmallard [Thu, 28 Nov 2013 22:33:46 +0000 (17:33 -0500)]
SSL Fix, revert not setting default ciphers.

3 years agostart_timeout and tcp_nodelay parameters:
gmallard [Thu, 28 Nov 2013 16:50:54 +0000 (11:50 -0500)]
start_timeout and tcp_nodelay parameters:

Add more docs
Add initialization defaults
Add to spec tests

3 years agoComplete revert to previous logger logic.
gmallard [Sat, 23 Nov 2013 17:55:52 +0000 (12:55 -0500)]
Complete revert to previous logger logic.

3 years agoMerge pull request #89 from gmallard/dev
Guy M. Allard [Sat, 23 Nov 2013 14:24:38 +0000 (06:24 -0800)]
Merge pull request #89 from gmallard/dev

ANon tests and Connect TypeError

4 years agoUpdate README.rdoc
OrazioWE7 [Tue, 22 Oct 2013 09:11:54 +0000 (10:11 +0100)]
Update README.rdoc

4 years agoFix TypeError on connect timeout with 1.8.x, 2.x.
gmallard [Sat, 19 Oct 2013 13:21:10 +0000 (09:21 -0400)]
Fix TypeError on connect timeout with 1.8.x, 2.x.

Related to issue #87.

4 years agoAnon tests assigned unique class name.
gmallard [Sat, 19 Oct 2013 13:01:41 +0000 (09:01 -0400)]
Anon tests assigned unique class name.

All tests were not running when using:
rake test

4 years agoMerge pull request #86 from stompgem/dev
Ian Smith [Thu, 3 Oct 2013 18:46:18 +0000 (11:46 -0700)]
Merge pull request #86 from stompgem/dev

Merge 1.3.1 to master

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 agoMerge pull request #82 from stompgem/dev
Ian Smith [Mon, 30 Sep 2013 17:54:04 +0000 (10:54 -0700)]
Merge pull request #82 from stompgem/dev

Release 1.3.0

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.