ooici/pyon — pull request #62 by daf (2012-02-27 21:13:56+00:00)
Title: Container Exchange API w/ auto EMS usage

This PR represents a major refactor to support the Container's Exchange Manager class and is wholly contained within pyon. If EMS (via coi-services) is present in the system, Exchange Manager will interact with it and allow the EMS to do the actual bare-metal work.

This should be mergeable with MINIMAL disruption to anyone - using the container XO is currently a buy-in style - you have to explicitly use it.

Some major pieces touched:

* Beginnings of a Transport layer refactor, which `pyon.net.channel` is built on top of. Abstracts actual bare-metal interactions and allows redirection (for the container's exchange manager to make decisions on).
* `pyon.net.endpoint` improvements:
* `SendingBaseEndpoint` to mirror listening side - all send-first endpoints based on this
* `to_name` and `from_name` kwargs where it makes sense
* Full Container Exchange Object testing (UNIT/INT, group='exchange')

Several TODOs remain and will be incorporated as time allows:

* Tests for Transport layer
* Finish porting Transport layer fully (some remaining AMQP interactions in Channel layer)
* AcceptedChannel needs underlying transport/nametrio
* Tests for pubsub via XP (to establish pattern)
* Container ExManager should cache any AMQP interaction for no duplicates
* Switch service clients to use XOs automatically (will be done soon)
* `delete__by_name` API