Permalink
Commits on Jun 11, 2017
  1. Merge pull request #822 from pika/improve-contributing-md

    Swtich CONTRIBUTING.md to Markdown
    michaelklishin committed on GitHub Jun 11, 2017
Commits on Jun 10, 2017
  1. Add a note about how to run tests

    michaelklishin committed Jun 10, 2017
  2. Make CONTRIBUTING.md use Markdown, cover test suite prerequisites

    michaelklishin committed Jun 10, 2017
Commits on Oct 27, 2016
  1. Merge pull request #778 from lexdene/addr_info

    use the socket type and proto field from addr info
    vitaly-krugl committed on GitHub Oct 27, 2016
  2. add param description in the docstring for _create_tcp_connection_socket

    lexdene committed Oct 27, 2016
Commits on Oct 26, 2016
  1. use the socket type and proto field from addr info

    lexdene committed Oct 26, 2016
Commits on Apr 22, 2016
  1. Merge pull request #740 from vitaly-krugl/add-osx-to-travis-tests

    Add OS X to travis matrix, but only with python 3.5 (to avoid builds taking too long)
    gmr committed Apr 22, 2016
  2. Add OS X to travis matrix, but only with python 3.5 (to avoid builds …

    …taking too long)
    vitaly-krugl committed Apr 21, 2016
Commits on Apr 20, 2016
  1. Merge pull request #737 from pfhayes/enterexit

    __enter__ / __exit__ on BlockingChannel
    gmr committed Apr 20, 2016
  2. Merge pull request #735 from vitaly-krugl/add-appveyor

    Added appveyor.yml for windows build/test and fixed several core and test bugs on Windows.
    gmr committed Apr 20, 2016
Commits on Apr 19, 2016
Commits on Apr 18, 2016
  1. Added appveyor.yml for windows build/test.

    Fixed bugs in code and tests that were causing test failures on Windows. More details below...
    
    Skip SelectConnectionIoloop tests that are not supported on the target platform.
    
    Support errno.EWOULDBLOCK return value from socket.connect_ex on Windows.
    
    Use socket send/recv instead of os.write/read on SelectConnection poller's interrup sockets for compatibility with Windows.
    
    Use socket.send/recv instead of os.write/read in select_connection_ioloop_tests.py for Windows compatibility
    
    Use time.sleep instead of select.select in SelectPoller when there are no sockets for Windows compatibility.
    
    Specify errno and message when raising socket.timeout in mock_timeout so that test_tornado_connection_timeout won't choke on Windows.
    
    Implemented SelectPollerTestPollWithoutSockets unit test
    
    Make BaseConnectin's socket easy to patch without having to patch the builtin that used to lead to hang when testing on windows.
    
    Fix ConnectionTests.test_tornado_connection_timeout failure on windows by patching TornadoConnection._create_tcp_connection_socket
    
    Fix hang when testing test_connection_attempts_with_timeout on Windows by removing socket.getaddrinfo patch.
    
    Increase retry_delay in test_connection_attempts_with_timeout to avoid timer_id collision on Windows, which was causing test to hang
    
    Build wheels on appveyor and store them in appveyor's artifacts
    vitaly-krugl committed Apr 17, 2016
Commits on Apr 4, 2016
  1. Merge pull request #724 from dschep/bug/enforce-one-basic-get

    Don't allow use of subsequent basic_get calls
    gmr committed Apr 4, 2016
Commits on Apr 3, 2016
Commits on Apr 1, 2016
  1. Merge pull request #725 from vitaly-krugl/add-client-props-to-vk-conn…

    …ection-params
    
    Supply client properties overrides via Connection Parameters.
    gmr committed Apr 1, 2016
  2. Merge pull request #712 from vitaly-krugl/channel-cleanup

    Fixed Channel-related bugs in Channel and Connection classes
    gmr committed Apr 1, 2016
  3. Fixed channel-related bugs discovered through code review in Channel

    and Connection classes; implemented new tests to verify fixes:
    
        - When closing a Channel, skip auto-cancellation of consumers that are already being
          cancelled.
        - Fix race condition, whereby Channel.Close comes in from broker while the channel
          is in CLOSING state expecting Channel.CloseOk, by waiting for CloseOk before
          notifying user and cleaning up, to make sure that channel number won't
          get reused before the expected CloseOk arrives.
        - Fixed basic_cancel and confirm_delivery with nowait=True (used to choke with
          ValueError in Channel._rpc).
        - When connection dies while unclosed channels remain, Connection._on_terminate now
          calls Channel._on_close_meta to properly clean up the remaining channels.
        - Fixed Channel.close to work with channel that is in the OPENING state. This allows
          Connection.close to properly get all channels closed, not just the ones in OPEN
          state. And it seems reasonable in general for it to work this way. If channel is
          OPENING, transition to CLOSING and suppress the incoming Channel.OpenOk.
    
    Behavior changes:
        - Removed the deprecated `type` arg from `BlockingChannel.exchange_declare` and
          `Channel.exchange_declare`.
        - In Connection._deliver_frame_to_channel(), consider it a critical protocol
          breach if received frame for channel not in our channel set. Log it at
          critical level, instead of trying to screen for Basic.Deliver and reject.
        - In Channel.close(), if channel is already CLOSING, raise ChannelAlreadyClosing
          exception. Legacy behavior used to raise ChannelClosed.
        - Raise `ConnectionClosed` in `Connection.channel()` if connection is not in OPEN
          state.
    
    Removed obsolete functionality:
        - Removed Channel._pending and related code, since this functionality was in support
          of the legacy BlockingConnection, which has since been rewritten.
        - Removed _write_lock from Connection; Connection is not thread-safe by design,
          and the lock was not protecting all output buffer accesses anyway.
        - In Channel constructor, remove the default value from on_open_callback, since
          Channel is only instantiated by Connection, which always passes this arg
    
    Cleaned up logic related to auto-closing of channels while closing a connection.
    
    When cancelling a consumer with nowait=True, remove its consumer entry from
    self._consumers to help garbage collection; otherwise, it wouldn't get purged
    until the channel is closed.
    
    Implemented a dedicated method Channel._on_close_meta to handle the meta-close
    request from Connection._on_terminate logic to avoid overloading the Channel.Close method
    handler's logic.
    
    More unit test for Channel and Connection that cover channel and connection closing
    procedures.
    
    Fix a couple of invalid heartbeat and tornado unit test methods.
    
    Cleaned up method_frame vs. method args in Channel and fixed docstrings; in a number of
    cases an arg named method_frame was being used to pass an AMQP method prior to this
    change.
    
    Misc. docstring fixup in both Channel and Connection classes concerning arg types, return
    values and raised exceptions.
    
    Renamed channel.ContentFrameDispatcher as channel.CotentFrameAssembler
    to reflect its actual functionality, and renamed the corresponding member to
    `Channel._content_assembler`.
    
    Cleaned up many pylint findings in related modules and tests.
    
    Fixed several style issues per @gmr's code review feedback in PR #712.
    Also, tagged the backpressure_detection option as deprecated in connection parameters
    per @gmr's suggestion in PR #714.
    vitaly-krugl committed Mar 1, 2016
Commits on Mar 31, 2016
  1. Merge pull request #714 from vitaly-krugl/refactor-conn-params

    Refactored connection Parameters, ConnectionParameters, and URLParameters classes to simplify logic and make them more robust
    gmr committed Mar 31, 2016
Commits on Mar 11, 2016
  1. Merge pull request #720 from Pankrat/reduce-disconnect-log-level

    Log disconnect as an info - not a warning
    vitaly-krugl committed Mar 11, 2016
Commits on Mar 10, 2016
  1. Refactored connection.Parameters, ConnectionParameters, and URLParame…

    …ters classes to simplify logic and make them more robust.
    
    Partition the validation and parsing logic into separate functions.
    
    Perform validation on assignment via property setters to avoid accepting invalid values.
    
    Block accidental assignment of invalid instance members.
    
    Implemented unit tests for pika.connection.Parameters, pika.ConnectionParameters,
    and pika.URLParameters.
    
    Moved legacy connection parameters unit tests to connection_parameters_tests.py and updated as needed.
    
    Deprecated the heartbeat_interval constructor arg of pika.ConnectionParameters in
    favor of the new heartbeat arg for consitency with the other connection parameters
    classes in pika.
    
    Used a singleton marker to identify default values in pika.ClonnectionParameters
    constructor instead of None to disambiguate between default and an actual value
    of None.
    
    Import unittest2 as unittest, if available, to get needed API with python 2.6
    
    When port arg is left as default in ConnectionParameters constructor, set its value based on whether
    SSL is enabled or not, for consistency with URLParameters.
    
    Restored code in URLParameters that substitutes http for ampq before invoking urlparse,
    and added a comment that this is needed due to failure in urlparse on pre-2.7 python
    to propertly separate url params from path when scheme isn't http(s).
    
    Added notes that the exceptions InvalidMinimumFrameSize and InvalidMaximumFrameSize are now deprecated.
    
    Implemented equality operators on credential classes and tests.
    
    Updated class docstring in connection.Parameters.
    
    Fix BaseConnection._wrap_socket to deal with ssl_options=None and add unit tests to verify.
    vitaly-krugl committed Mar 6, 2016
Commits on Mar 1, 2016
  1. Merge pull request #710 from vitaly-krugl/cleanup-async-publisher

    Cleaned up async publisher example in docs
    gmr committed Mar 1, 2016
  2. Merge pull request #711 from vitaly-krugl/direct-reply-to

    Demonstrate use of RabbitMQ's "Direct reply-to" feature using BlockingConnection
    gmr committed Mar 1, 2016
  3. Merge pull request #701 from vitaly-krugl/blocked-handling

    Implement support for Parameters.blocked_connection_timeout, tests, and examples.
    gmr committed Mar 1, 2016
Commits on Feb 21, 2016
Commits on Feb 18, 2016
  1. Implement support for Parameters.blocked_connection_timeout and tests.

    Added blocked-connection and heartbeat timeout configuration example
    vitaly-krugl committed Feb 7, 2016
  2. Merge pull request #687 from xiaopeng163/master

    the docstring for parameter missing the param name
    vitaly-krugl committed Feb 18, 2016
Commits on Feb 17, 2016
  1. Merge pull request #705 from vitaly-krugl/DMOJ-patch-1

    Permit both int and long as delivery_tag in Channel.basic_reject
    vitaly-krugl committed Feb 17, 2016
Commits on Feb 9, 2016
  1. Merge pull request #666 from nickcash/master

    Pick the max of the heartbeat timeouts as result of negotiation
    vitaly-krugl committed Feb 9, 2016
  2. Merge pull request #3 from vitaly-krugl/nickcash-master-heartbeat-tim…

    …eout-resolve-merge-conflict
    
    Resolve merge conflict against pika master
    nickcash committed Feb 9, 2016