Permalink
Switch branches/tags
Nothing to show
Commits on May 10, 2011
  1. Merge git://github.com/joodie/poe-component-client-amqp

    Conflicts:
    	lib/POE/Component/Client/AMQP.pm
    
    Merge, removing buffered_input and the stateful {Reader} in favor of my
    POE::Filter approach.
    committed May 10, 2011
Commits on Jan 11, 2010
  1. FrameSent callback to track out frames

    Added FrameSent callback in the AMQP client core.  Is called whenever a frame is sent; can be used to track exact moment messages are sent out on the wire.
    
    Refactored the examples/ to use example.pm:init() which can provide callbacks at runtime.
    
    Added examples of FrameSent being used to do a simple 1-N publish and exit.  Call enqueue.pl with a list of messages, and dequeue.pl with the number of messages to wait for from the test queue.
    Eric Waters committed Jan 11, 2010
Commits on Nov 6, 2009
  1. Support for Reconnect & round robin RemoteAddress

    You can now provide 'Reconnect => 1' and 'Callbacks => { Reconnected => [ sub {} ] }' in the new() args to the Client.
    Any queues, channels, subscriptions, etc. that were created synchronously will be recreated, however I'm unclear at this point how dynamically generated queue names will be handled.  For this reason, adding callbacks to the 'Disconnected' and 'Reconnected' triggers to resetup your queue/exchange/channel topology would be best practice, as is checking $amq->is_started before doing server_send events.
    If $amq->server_send is called while in the progress of reconnecting, the messages will be enqueued to $amq->{failed_server_send}, which the user is at this point expected to do something with.
    ewaters committed Nov 6, 2009
Commits on Oct 29, 2009
  1. ignore emacs tmp files

    joodie committed Oct 29, 2009
  2. move constants to their own module. Makes loading more predictable

    This also eliminates redefinition warnings under certain conditions,
    such as when running the files in emacs/flymake-mode.
    joodie committed Oct 29, 2009
Commits on Oct 28, 2009
  1. merge from ewaters/master

    joodie committed Oct 28, 2009
Commits on Oct 23, 2009
  1. Improved handling of larger TCP records

    Added respect for frame_max (Connection.Tune param) and proper splitting of body frames at this length (when using compose_basic_publish())
    
    Added ServerFlushed TCP client event, but for no real good reason.
    
    It appears that large TCP input records are being split at 16384 bytes (2^14); this is probably due to POE::Driver::SysRW, although it should split at 65536 (2^16).  To compensate, tcp_server_input checks to see if the record appears to be complete, and buffers it accordingly.  This works, but is kludgy.  Ideally, we need to write POE::Filter::AMQP, which spits out fully formed Net::AMQP records.  TODO / FIXME
    ewaters committed Oct 23, 2009
Commits on Oct 9, 2009
  1. Channel create and close improvements

    AMQP->channel() now allows user opts.
    Waiting for synchronous method responses is now keyed on channel.
    Server input that is not channel 0 will now go to the Channel, regardless of other handling by the server_input() method.
    Added 'CascadeFailure' and 'CloseCallback' to Channel->create() opts to allow for a)
     the server connection to be closed if the channel closes and b) a user callback to
     trigger if the channel closes.  Better handling for channel close events, allowing a
      channel number to be reused.  Added explicit method close().
    ewaters committed Oct 9, 2009
Commits on Sep 11, 2009
  1. .gitignore some files

    joodie committed Sep 11, 2009
  2. added $channel->publish method

    meaning we can now easily publish when we don't have a queue handy
    joodie committed Sep 11, 2009
Commits on Sep 9, 2009
  1. added Disconnected callback

    joodie committed Sep 9, 2009
  2. updated README

    joodie committed Sep 9, 2009
  3. added ack and reject methods

    joodie committed Sep 9, 2009
Commits on Sep 8, 2009
  1. added error callbacks

    joodie committed Sep 8, 2009
  2. Merge branch 'master' of git://github.com/jamesaduncan/poe-component-…

    …client-amqp into duncan
    joodie committed Sep 8, 2009
Commits on Aug 28, 2009
  1. pass delivery_tag to callbacks

    joodie committed Aug 28, 2009
  2. fixed dist

    joodie committed Aug 28, 2009
  3. use correct buffering

    joodie committed Aug 28, 2009
Commits on Aug 26, 2009
  1. Added Keepalive feature

    ewaters committed Aug 26, 2009
  2. oo-ifying the exchange declaration and bindings a little bit

    James A. Duncan committed Aug 26, 2009
  3. Adding topic exchange example

    ewaters committed Aug 26, 2009
Commits on Aug 17, 2009
  1. Support for SSL

    Brought POE::Component::Client::TCP into the repo (renamed to POE::Component::Client::AMQP::TCP) for local sslify_socket() changes.
    ewaters committed Aug 17, 2009
  2. Minor changes

    Added shutdown method and state.
    More clear handling of auto-ack (using exportable constants)
    Handling of TCP error conditions
    ewaters committed Aug 17, 2009
Commits on Aug 2, 2009
  1. Minor cleanup; added compose_basic_publish()

    Added an amq.fanout test, clock.pl
    Fixed examples.pm DEBUG bug
    Moved basic publish composition code from Queue.pm to AMQP.pm so it can be used by other code easily.
    ewaters committed Aug 2, 2009
Commits on Jul 22, 2009
  1. Fixing various bugs

    ewaters committed Jul 22, 2009
Commits on Jul 15, 2009
  1. Preparing for release on CPAN

    ewaters committed Jul 15, 2009
Commits on Jul 10, 2009
  1. Moved files around

    ewaters committed Jul 10, 2009
Commits on Jul 9, 2009
  1. Differing usage of Net::AMQP

    As per refactor of Net::AMQP, we now are using Net::AMQP::Frame objects
    rather then the protocol frames directly for all parsing.
    
    Also added support for multiple frames per socket read.
    ewaters committed Jul 9, 2009