We've started to talk about the interactions between transport clients, service clients, and state. I've noticed we're not on the same page so I wanted to start a dialog. Here's my starting point...
A Transport Client is about transporting data. It sends and receives data. A Service Client handles the interactions with a service (e.g., swift, nova, keystone). A Service Client uses a Transport Client when it needs to transport data to and from a service. When it comes to state, a Transport Client knows about transporting things. That means it knows things like if there is a proxy and how to work with it. A Service Client knows about a service which includes and state for that service. In the realm of separation of concerns, a Service Client doesn't know about transport state and a Transport Client doesn't know about service state. They are separate. A Service Client doesn't care what Transport Client is used as long as the API (interface) is compliant. A Transport Client doesn't care what code calls it as long as it uses the public API defined by an interface. This is my take. If someone has a different take please share it with the reasoning. - Matt _______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
