bunny 2.7.1 → 2.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +22 -6
- data/ChangeLog.md +9 -2
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/lib/bunny/session.rb +2 -2
- data/lib/bunny/transport.rb +6 -10
- data/lib/bunny/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1dd2f949bcc12b76fad38159f60adfbf52eed85
|
4
|
+
data.tar.gz: 280cc9632f061268091bf5e0b705f1264f3b3aa6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b8e2f0e13ba6488e563ae1e8ba6566cf4c3d6ddfe22e095f3a2444240cfcf78f236cbf6a97cc71aba777e0ec8fcc14e6859fa5266dc012f063c4dbeb3bad3c0
|
7
|
+
data.tar.gz: 99bd85512d22d4da1626e98346a61512b470d6c87fd735838960c951af99fef340cee57cc9b8b6f54905d93f64c94c8b1a180c87b6f69439f654348aaf57e751
|
data/CONTRIBUTING.md
CHANGED
@@ -1,9 +1,30 @@
|
|
1
|
+
## Overview
|
2
|
+
|
3
|
+
This project **does not** use GitHub issues for questions, investigations, discussions, and so on.
|
4
|
+
Issues are appropriate for something specific enough for a maintainer or contributor to work on:
|
5
|
+
|
6
|
+
* There should be enough information to reproduce the behavior observed in a reasonable amount of time
|
7
|
+
* It should be reasonably clear why the behavior should be changed and why this cannot or should not be addressed
|
8
|
+
in application code, a separate library and so on
|
9
|
+
|
10
|
+
All issues that do not satisfy the above properties belong to the [Ruby RabbitMQ clients mailing list](http://groups.google.com/forum/#!forum/ruby-amqp). Pull request that do not satisfy them have a high chance
|
11
|
+
of being closed.
|
12
|
+
|
13
|
+
## Submitting a Pull Request
|
14
|
+
|
15
|
+
Please read the sections below to get an idea about how to run Bunny test suites first. Successfully
|
16
|
+
running all tests, at least with `CI` environment variable exported to `true`, is an important
|
17
|
+
first step for any contributor.
|
18
|
+
|
19
|
+
Once you have a passing test suite, create a branch and make your changes on it.
|
20
|
+
When you are done with your changes and all
|
21
|
+
tests pass, write a [good, detailed commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) submit a pull request on GitHub.
|
22
|
+
|
1
23
|
## Pre-requisites
|
2
24
|
|
3
25
|
The project uses Bundler for dependency management and requires RabbitMQ `3.5+` to be running
|
4
26
|
locally with the `rabbitmq-management` and `rabbitmq_consistent_hash_exchange` plugins enabled.
|
5
27
|
|
6
|
-
|
7
28
|
### Running the Specs
|
8
29
|
|
9
30
|
The specs require RabbitMQ to be running locally with a specific set of vhosts
|
@@ -88,8 +109,3 @@ It is possible to run all tests:
|
|
88
109
|
It is possible to run only integration and regression tests but exclude unit and stress tests:
|
89
110
|
|
90
111
|
CI=true bundle exec rspec -c spec/higher_level_api/ spec/lower_level_api spec/issues && bundle exec rspec -c spec/higher_level_api/integration/connection_recovery_spec.rb
|
91
|
-
|
92
|
-
## Pull Requests
|
93
|
-
|
94
|
-
Then create a branch and make your changes on it. Once you are done with your changes and all
|
95
|
-
tests pass, write a [good, detailed commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) submit a pull request on GitHub.
|
data/ChangeLog.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
## Changes between Bunny 2.7.1 and 2.7.2 (unreleased)
|
2
2
|
|
3
|
-
|
3
|
+
### Reading a Frame without Payload Could Result in a `Bunny::NoFinalOctetError`
|
4
|
+
|
5
|
+
Reading a frame without payload (e.g. a heartbeat frame) could result in a `Bunny::NoFinalOctetError`
|
6
|
+
with mostly idle connections.
|
7
|
+
|
8
|
+
GitHub issue: [#521](https://github.com/ruby-amqp/bunny/issues/521).
|
9
|
+
|
10
|
+
Contributed by GPif.
|
4
11
|
|
5
12
|
|
6
13
|
## Changes between Bunny 2.7.0 and 2.7.1 (Sep 25th, 2017)
|
@@ -51,7 +58,7 @@ in those cases.
|
|
51
58
|
|
52
59
|
### amq-protocol Update
|
53
60
|
|
54
|
-
Minimum `amq-protocol` version is now [`2.2.0`]
|
61
|
+
Minimum `amq-protocol` version is now [`2.2.0`](https://github.com/ruby-amqp/amq-protocol/blob/master/ChangeLog.md#changes-between-210-and-220-may-11th-2017) which includes
|
55
62
|
a change in [how timestamps are encoded](https://github.com/ruby-amqp/amq-protocol/issues/64).
|
56
63
|
|
57
64
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -160,7 +160,7 @@ to also join the [RabbitMQ mailing list](https://groups.google.com/forum/#!forum
|
|
160
160
|
|
161
161
|
## Continuous Integration
|
162
162
|
|
163
|
-
[![Build Status](https://travis-ci.org/ruby-amqp/bunny.
|
163
|
+
[![Build Status](https://travis-ci.org/ruby-amqp/bunny.svg)](https://travis-ci.org/ruby-amqp/bunny/)
|
164
164
|
|
165
165
|
|
166
166
|
### News & Announcements on Twitter
|
data/lib/bunny/session.rb
CHANGED
@@ -89,7 +89,7 @@ module Bunny
|
|
89
89
|
# @return [Integer] Timeout for blocking protocol operations (queue.declare, queue.bind, etc), in milliseconds. Default is 15000.
|
90
90
|
attr_reader :continuation_timeout
|
91
91
|
attr_reader :network_recovery_interval
|
92
|
-
|
92
|
+
attr_accessor :socket_configurator
|
93
93
|
|
94
94
|
# @param [String, Hash] connection_string_or_opts Connection string or a hash of connection options
|
95
95
|
# @param [Hash] optz Extra options not related to connection
|
@@ -1257,7 +1257,7 @@ module Bunny
|
|
1257
1257
|
|
1258
1258
|
# @private
|
1259
1259
|
def negotiate_value(client_value, server_value)
|
1260
|
-
return server_value if
|
1260
|
+
return server_value if [:server, "server"].include?(client_value)
|
1261
1261
|
|
1262
1262
|
if client_value == 0 || server_value == 0
|
1263
1263
|
[client_value, server_value].max
|
data/lib/bunny/transport.rb
CHANGED
@@ -233,17 +233,13 @@ module Bunny
|
|
233
233
|
# Exposed primarily for Bunny::Channel
|
234
234
|
# @private
|
235
235
|
def read_next_frame(opts = {})
|
236
|
-
header
|
237
|
-
# TODO: network issues here will sometimes cause
|
238
|
-
# the socket method return an empty string. We need to log
|
239
|
-
# and handle this better.
|
240
|
-
# type, channel, size = begin
|
241
|
-
# AMQ::Protocol::Frame.decode_header(header)
|
242
|
-
# rescue AMQ::Protocol::EmptyResponseError => e
|
243
|
-
# puts "Got AMQ::Protocol::EmptyResponseError, header is #{header.inspect}"
|
244
|
-
# end
|
236
|
+
header = read_fully(7)
|
245
237
|
type, channel, size = AMQ::Protocol::Frame.decode_header(header)
|
246
|
-
payload
|
238
|
+
payload = if size > 0
|
239
|
+
read_fully(size)
|
240
|
+
else
|
241
|
+
''
|
242
|
+
end
|
247
243
|
frame_end = read_fully(1)
|
248
244
|
|
249
245
|
# 1) the size is miscalculated
|
data/lib/bunny/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bunny
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Duncan
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2017-
|
15
|
+
date: 2017-11-03 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: amq-protocol
|