commit 8336e63685b06f6165f43cc915d46c0c4bb13b32
Author: James E. Blair <jeblair@openstack.org>
Date:   Wed Jun 5 08:43:26 2013 -0700

    Explicitly check event state after waiting.
    
    In python2.6, the wait function always returns None, so explicitly
    check the status of events after waiting with a timeout.
    
    Change-Id: Ie354c1841c49725c93aa8ddf1c04f0e9a9b56548

commit 4bc883e9f3d87df72d8380d8ac0e223c903a6e45
Author: James E. Blair <jeblair@openstack.org>
Date:   Tue Jun 4 19:29:32 2013 -0700

    Handle blobs with nulls.
    
    Some areas where we handle arbitrary blobs (function arguments and
    echo data) were incorrectly stopping at the first null byte.  Instead,
    when we parse out the arguments to a packet, handle the last one as
    a special case if it can contain null bytes (return up to the end
    of the packet).
    
    Change-Id: I45178347cdb058e34329c6601f5e841da0d3b40b

commit 0e87ebfbbc46605e4da20b677966289221310c8f
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu May 30 12:26:34 2013 -0700

    Wait for responses to admin requests.
    
    That's probably what callers will want to do anyway.
    
    Change-Id: I9086e2e182f29ee778b105c82bcef81c12aeb54a

commit 2bb0fcaa28314a54211b1c640b93a325425ac5a2
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu May 30 12:11:10 2013 -0700

    Wait for responses to some requests.
    
    SUBMIT_JOB (and related) requests as well as OPTION_REQ requests
    always return a response (success or error), so have the client
    wait for a response and handle errors appropriately.
    
    Since they can both return ERROR packets, and the gearman protocol
    has no mechanism to associate ERROR responses with the requests
    that triggered them, put each task that may trigger an error response
    in a fifo queue and assume that what we get back is in the same order.
    
    The only other commands (properly executed) that can trigger an ERROR
    response are the WORK_ requests, which are only sent by workers, not
    clients.
    
    If anything about the packet sequencing seems out of order (eg, we get
    a successful response that doesn't match the next item on the fifo
    queue) restart the connection (there is likely no way to recover).
    
    Change-Id: Ibca972f5d57313cebba028ed473273f46fa68e2a

commit f7c06c0dd176501b00a018eb457154422597e3a4
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu May 23 15:41:18 2013 -0700

    Handle GET_STATUS in the server.
    
    Change-Id: Iff6cec77de9eed8e462ec3334fef8c487aa96f2c

commit c642b2069d6d3e3c53de6b77bf204323c32c3364
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu May 23 08:26:09 2013 -0700

    Fix connection debugging messages.
    
    The debugging messages were printing the wrong connection handle.
    
    Change-Id: If4548296015942879c572d2a6b4964b553a9c535

commit 463b84b3d45f3967882fffe993982fef8092fcbf
Author: James E. Blair <jeblair@openstack.org>
Date:   Wed May 22 16:45:49 2013 -0700

    Fix miscategorized packets.
    
    Some packets were being sent with the REQ code instead of RES.
    
    Change-Id: I05fc56ca1dc7ebd2367567e91b4098d9e97b8fb4

commit 1c4df7622f8e291ebf24a7fa765618120b0ef0a7
Author: James E. Blair <jeblair@openstack.org>
Date:   Tue May 21 10:46:51 2013 -0700

    More improvements to admin requests.
    
    Finish replacing isComplete.  Also, add back in the bit where we
    save the response because it turns out that's important.
    
    Change-Id: I8441386a9aae9c62c1527e780d0b41271f465ac5

commit e3b42f6795b9fc5907e333df39f2a3370efbabf6
Author: James E. Blair <jeblair@openstack.org>
Date:   Mon May 20 15:18:09 2013 -0700

    Improve efficiency of admin packets.
    
    Using a regex to determine when an admin packet is complete is very
    slow with real-world data for most admin responses.  Instead, perform
    simple string comparison checks.
    
    Change-Id: I5ec32c8ab2d44f20061343ee1f95a3d2066e8642

commit cebd9d7ad9ef313b94d3e564d418de93cfde0c30
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu May 9 14:31:02 2013 -0700

    Add remaining client/worker handlers.
    
    Adds all remaining handle methods needed to handle responses that
    clients and workers can expect.
    
    Adds an echo method to connection objects (for ping tests).
    
    Adds all packet types to the handle method in BaseClientServer,
    and add default implementations for each of them that logs an error.
    Subclasses (eg Client, Worker) will override them as appropriate.
    
    Add a "broadcast lock" so that Clients and Workers can maintain
    exclusivity around operations that apply to all connections.
    
    Change-Id: Ia31f0941687ccfee711c3818e8e0c21ccbd1b313

commit ea796eb3403be7e616939ec1de7ae8da811314f0
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu May 9 09:44:02 2013 -0700

    Encoding bugfix.
    
    Use bytearrays in Packet.toBinary().  Encode strings as utf8.
    
    Return the job in the default handleDisconnect method (as the
    documentation says should be done).
    
    Change-Id: I2d2410abff94bc9a7a20f3729c193b5ae8a610d1

commit 9aa4f48bb66fba044013ea498b55af2269d110d5
Author: James E. Blair <jeblair@openstack.org>
Date:   Wed May 8 12:24:36 2013 -0700

    Add status command to test server.
    
    Also record connection times to aid subclasses/users in detecting
    when a client has reconnected.
    
    Change-Id: I1abbf85fd1e20e6c509bcb54a81aa8bf45c135ef

commit 5b7852418d51eb67617f3affcccd8749e5911145
Author: James E. Blair <jeblair@openstack.org>
Date:   Wed May 8 10:58:15 2013 -0700

    Some bugfixes and test/debugging assist.
    
    * Add some more debug log messages
    * Fix copy/paste errors in function signatures
    * Handle port 0 for the test server (system assigns a port at
      random -- record that port for the caller to inspect)
    * In the server, change connection state to awake after sending
      a noop packet (to avoid sending multiple noops)
    * Split handleGrabJobUnique in the server into several functions
      for modularity (helpful for subclasses)
    * In the server, immediately wake up a connection on receipt of
      a pre_sleep packet if there is a waiting job (it may have arrived
      _after_ the most recent grab_job).
    
    Change-Id: I0f2057bddfd6a13a0d2db08641ef51502ec06d9e

commit 61bd6ce5708d27015bb9ccf01aff99bb2b0ac2d8
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu May 2 17:38:47 2013 -0700

    Add simple Gearman server.
    
    For testing, not for real use under load.
    
    Change-Id: I9c84b1eea7d868e907b80b6edf60c49c172c356b

commit 772d256328b4c876a0f308240ef941800def55fc
Author: James E. Blair <jeblair@openstack.org>
Date:   Wed May 1 11:57:39 2013 -0700

    Reorganize documentation.
    
    Split up into sections by usage.
    
    Improve autodoc output of AdminRequest objects and enforce appropriate
    arguments in constructors.
    
    Change-Id: I834e4d10edbee9494d68ae010f439624172a111f

commit 868cc239c93fe93268d53776636d02755c99ce4c
Author: James E. Blair <jeblair@openstack.org>
Date:   Tue Apr 30 16:23:34 2013 -0700

    Add worker functionality.
    
    Change-Id: I7d624df38278dbfba8a3123285b33a52bdc3b870

commit 38cd3373890bf4cddf72d84f453052ddcad0f207
Author: James E. Blair <jeblair@openstack.org>
Date:   Mon Apr 29 11:54:32 2013 -0700

    Add a method that waits for a job handle.
    
    Job handles should be returned immediately, and are quite handy
    to have in further interactions with gearman, so provide a
    convenience method to wait for a job handle after submission.
    
    Change-Id: I3b2fb3c75bf4c0618647f49386cb198e08008fab

commit a470e5e4e0742006c8b4e990be1fb7b29b54eb88
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu Apr 25 16:34:11 2013 -0700

    Support administrative protocol.
    
    Add support for multiplexing the text-based admin protocol on
    existing connections.
    
    Add some basic support for some admin commands (in an extensible way).
    
    Change-Id: Ib6c9891e22518d610b5abed75c78efcc4f23ed60

commit 15ab33ed3bfd6b88b79bcac41dc0b3633c725c20
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu Apr 25 11:29:32 2013 -0700

    Treat job data as an array.
    
    So that users have the option of seeing the discrete data chunks
    returned by gearman.  If they should be concatenated, that's easy
    enough for the user to do.
    
    Change-Id: I19ebed92c41271546ff908582d671cfbaa34977c

commit b52c073bb4bafdd12ecb055c88dc761e18204879
Author: James E. Blair <jeblair@openstack.org>
Date:   Thu Apr 11 14:47:40 2013 -0700

    Fix typo in workStatus.
    
    We were checking the numerator twice.  Get the denominator.
    
    Change-Id: Ib8e8868a3d067dcebb91ae8c9181a22b975abe99

commit ba9ff1c9c6c91258ec7960a2eb92d80a7d5f0369
Author: James E. Blair <jeblair@openstack.org>
Date:   Mon Apr 8 15:17:42 2013 -0700

    Add Sphinx documentation.
    
    Add more events.
    
    Also, return Job objects from event handlers for convenience of
    subclasses.
    
    Add sphinx config to setup.cfg.
    
    Change-Id: I2ccc32fbc5f043a67d5da86cc3c37ab3d2c30d99

commit 8a8b7ffab0f53a4e4c0890912fe034a9583f40c9
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Apr 5 19:40:07 2013 -0400

    Make flake8 and OpenStack Hacking clean.
    
    Change-Id: Ifbc78187e29e7befefcfff47b803ff20c86f6e75

commit 207e5cf884d7c7a0f0e95438cb8860b5092c0e52
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Apr 5 19:31:07 2013 -0400

    Add initial test suite.
    
    Change-Id: I4fdbc8d6c3073b7edfdc8bf486575820088faa72

commit 855b217f6dac1fd6a613ba8bfda120f8c96734b8
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Apr 5 19:10:41 2013 -0400

    Add pbr-based setup.
    
    Change-Id: I8ff06c6711e1d9f5bf4d1278f37d4e2f7f799e3d

commit b6097dc7ed885ff7241ca90f95246c66dbe7cf10
Author: James E. Blair <jeblair@openstack.org>
Date:   Fri Apr 5 12:08:58 2013 -0700

    Initial commit.
    
    Change-Id: Ia612b44511b19e22a73cb6d4662fc02207af9321

commit 604408042330eb023cb8e442eb9302b4d365d9bb
Author: Openstack Project Creator <openstack-infra@lists.openstack.org>
Date:   Fri Apr 5 18:53:07 2013 +0000

    Added .gitreview