On 21 Jan 2009 at 16:36, Konrad Rzeszutek wrote: > > On Wed, Jan 21, 2009 at 11:48:41AM +0100, Ulrich Windl wrote: > > > > On 20 Jan 2009 at 9:23, Konrad Rzeszutek wrote: > > > > > I would recommend that you provide as the first variable in all of the > > > structs > > > an unsigned int called 'version'. This way if the structs are extended > > > they > > > would be backwards compatible and there is an easy way to identify which > > > version of structs they are. > > > > Hi! > > > > When doing an initial version, why not try to do it right at the beginning? > > Addind > > a version number to a poor design is terrible, because for compatibility > > you'll > > always have to support old versions then. If you do not, why the version > > number? > > Because we are humans and we make mistakes. It is one of the mechanism to fix > something later on when an Application Binary Interface (ABI) is "holy" and > cannot be changed.
Yes sure, (I had written some primitive communication protocol some years ago, where the client asked the server what protocol version it did support (actually it was a feature mask). After about the 7th revision of the protocol, I wondered whether the server should still support all the older protocol versions). For your case: I think defining a library interface is not an add-hoc task for one afternoon; it should be carefully designed (e.g. being thread-safe, even if the implementation is not: Once the implementation is, the application need not be changed -- the interface is stable). "Manage your interfaces better than the banks did manage their money ;-)" Regards, Ulrich --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "open-iscsi" group. To post to this group, send email to firstname.lastname@example.org To unsubscribe from this group, send email to open-iscsi+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/open-iscsi -~----------~----~----~----~------~----~------~--~---