Commits on Jul 24, 2016
  1. @michaelklishin

    Update README.md

    michaelklishin committed on GitHub Jul 24, 2016
Commits on Jul 20, 2016
  1. @michaelklishin

    2.5.0 is out

    michaelklishin committed on GitHub Jul 20, 2016
  2. @michaelklishin

    Update change log

    michaelklishin committed Jul 20, 2016
  3. @michaelklishin

    Update change log

    michaelklishin committed Jul 20, 2016
  4. @michaelklishin
  5. @michaelklishin

    Update change log

    michaelklishin committed Jul 20, 2016
  6. @michaelklishin

    2.5.0

    michaelklishin committed Jul 20, 2016
  7. @michaelklishin

    Merge pull request #430 from mitio/fix-wait-for-confirms-early-return…

    …-race-condition
    
    Make wait_for_confirms poll while there're unconfirmed msgs
    michaelklishin committed on GitHub Jul 20, 2016
Commits on Jul 19, 2016
  1. @mitio

    Make wait_for_confirms poll while there're unconfirmed msgs

    This should fix a race condition in which Channel#wait_for_confirms may
    return before all confirmations are received when using a threaded
    connection.
    
    Suppose the following happens:
    
    1 .We have a channel in "confirm select" mode.
    2. We do a basic_publish to that channel. Some time passes, say a few
       seconds.
    3. During that time, an ack is received by Bunny and handled in
       handle_ack_or_nack. @unconfirmed_set is emptied, true is pushed to
       @confirms_continuations.
    4. We do a second baslic_publish to that same channel.
    5. Immediately afterwards we issue wait_for_confirms to wait for all
       confirmations. It sees that @unconfirmed_set has something in it and
       issues @confirms_continuations.poll but that returns immediately and
       unexpectedly because of the true value pushed to it at step 3. We
       haven't received an ack or nack for the second publish yet.
    
    Doing a bunch of publishes and then calling `wait_for_confirms` is a
    completely valid use case and it should block and wait until all acks or
    nacks are received. Even if one does a publish and immediately follows
    it with `wait_for_confirms`, a race condition exists and may result in
    `wait_for_confirms` returning before ack/nack is received.
    
    This is not an issue for non-threaded connections.
    mitio committed Jul 19, 2016
Commits on Jul 18, 2016
  1. @michaelklishin

    Merge pull request #428 from mitio/wait-for-confirms-raise-on-closed-…

    …channel
    
    Raise when calling wait_for_confirms on a closed channel
    michaelklishin committed on GitHub Jul 19, 2016
  2. @michaelklishin

    Merge pull request #427 from mitio/fix-typo-in-contributing-guide

    Fix a typo in the contributing guide
    michaelklishin committed on GitHub Jul 19, 2016
  3. @michaelklishin

    Merge pull request #426 from mitio/fix-syntax-error-in-exchange-recov…

    …ery-spec
    
    Fix a syntax error in the exchange recovery spec
    michaelklishin committed on GitHub Jul 19, 2016
  4. @mitio

    Raise when calling wait_for_confirms on a closed channel

    If a channel is already closed it will receive no new frames and waiting
    for confirmations will most likely hang and timeout unless the frames
    were somehow already received.
    
    If one wishes to wait for confirmations it’s probably the case that the
    user doesn’t expect the channel to be closed and we should notify them
    about it by failing early. A channel might be closed by RabbitMQ in case
    of a channel-level error for example due to a publishing error.
    mitio committed Jul 18, 2016
  5. @mitio

    Fix a syntax error in the exchange recovery spec

    The hash syntax of the arguments key is incorrect resuting in a syntax
    error when running all specs with `CI=true rspec`.
    mitio committed Jul 18, 2016
  6. @mitio

    Fix a typo in the contributing guide

    "before_script" is a .travis.yml directive where the script to be run is
    `bin/ci/before_build`.
    mitio committed Jul 18, 2016
Commits on Jul 16, 2016
  1. @michaelklishin

    Document :tls_protocol

    michaelklishin committed Jul 16, 2016
Commits on Jun 22, 2016
  1. @michaelklishin
  2. @michaelklishin

    Basic test for #412

    michaelklishin committed Jun 22, 2016
  3. @michaelklishin @michaelklishin

    Closes #412

    Same as #422 but uses the same method name we currently do.
    
    An integration test is pending.
    michaelklishin committed with michaelklishin Jun 22, 2016
Commits on Jun 19, 2016
  1. @michaelklishin
  2. @michaelklishin
  3. @michaelklishin

    Merge branch 'recover_exchange_bindings' of https://github.com/camelp…

    …unch/bunny into camelpunch-recover_exchange_bindings
    michaelklishin committed Jun 20, 2016
Commits on Jun 14, 2016
  1. @michaelklishin

    Merge pull request #419 from camelpunch/remove_test

    Remove superfluous test of confirm_select
    michaelklishin committed on GitHub Jun 14, 2016
  2. @camelpunch

    Remove superfluous test of confirm_select

    If all we care about is method existence, that's covered elsewhere.
    camelpunch committed Jun 14, 2016
Commits on Jun 13, 2016
  1. @camelpunch

    Rework recovery test

    - Wait for state changes on HTTP API, with timeouts. This is about 3x
      faster than the previous constant sleeps on my machine.
    - Silence log output
    - Pend out an example that was incorrectly passing
      (attempt limits: #408)
    
    Issue #410
    camelpunch committed Jun 13, 2016
  2. @camelpunch

    Recover exchanges and their bindings

    Introduce test helper in recovery spec to expect loss, then recovery of
    a predicate.
    
    Issue #410
    camelpunch committed Jun 13, 2016
  3. @camelpunch

    require amq/protocol from exchange.rb

    This is needed in order to load exchange.rb in solitude e.g. from a unit
    test.
    
    Issue #410
    camelpunch committed Jun 13, 2016
  4. @camelpunch

    Remove commented debug code

    Issue #410
    camelpunch committed Jun 13, 2016
Commits on Jun 12, 2016
  1. @camelpunch

    Inline helper in broken exchange example

    This allows us to read the example without 'bouncing' to the helper
    definition.
    
    Issue #410
    camelpunch committed Jun 12, 2016
  2. @camelpunch

    Remove unnecessary begin/end

    Issue #410
    camelpunch committed Jun 12, 2016
  3. @camelpunch

    Move spec helpers to bottom of spec file

    Having the interesting stuff at the top makes the test more readable.
    
    Issue #410
    camelpunch committed Jun 12, 2016
  4. @camelpunch

    Extract Method to replace Comment

    Issue #410
    camelpunch committed Jun 12, 2016
  5. @camelpunch

    Remove unused let

    Issue #410
    camelpunch committed Jun 12, 2016
  6. @camelpunch

    Re-enable recovery tests in CI

    Prep for fixing #410
    camelpunch committed Jun 12, 2016
Commits on Jun 11, 2016
  1. @michaelklishin

    Back to dev version

    michaelklishin committed Jun 11, 2016