Martin Ritchie wrote:
I would very much like to request that we think about supporting 0_8 *and* 0_10 in the client code at least. This could be by having two sets of classes below the model layer such that the client can only speak one protocol at a time. This would be beneficial for migrating existing customers to the newer protocol. Deployed clients are generally harder to change then their broker so if the client could support both protocols an incremental upgrade could be possible.
"Deployed clients are generally harder to change" would suggest to me that what was needed was a _broker_ that supported 0-8 and 0-10, since not all clients could be upgraded when a broker is upgraded.
When you say that it might be ok if "client can only speak one protocol at a time" do you mean a particular client process? If so, could that not be achieved simply by pointing it to a different version of the qpid libraries?
If on the other hand the requirement is to allow a particular connection within a process to choose one of the two versions, that would not be quite as simple. If this is what you were thinking, do you have more detail on what the underlying use case would be? I.e. is it a client that needs to relay from one version of a broker to another? Or is it quite different parts of a system that just happen to be in the same process but might have different migration paths?
I agree with your other points.
