[haiku-commits] Re: haiku: hrev50368 - src/kits/network/libnetapi headers/os/net

  • From: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 21 Jun 2016 18:24:57 +0200

On Tue, Jun 21, 2016 at 03:32:40PM +0000, Jessica Hamilton wrote:

It should be noted that by changing the size of the class, this breaks
binary compatibility. As such, any packages making use of these
classes will need a rebuild, or there will likely be unpredictable
behavior and/or crashes when they're used.


Shouldn't we add padding to these classes like we do elsewhere to minimise
this problem then?

We do this only once the class design is considered "done" and stable.
The reason is, if we add the padding early, by the time the design is
finalized, there may be not that much padding left for future evolutions
anymore.

Ideally, these experimental classes should be in the BPrivate namespace
and in a static library, making it possible for apps to embed a specific
version, and there would be no ABI to maintain. For some reason this was
not done for these new network kit classes.

-- 
Adrien.

Other related posts: