[Bro-Dev] Broker & CAF includes

Siwek, Jon jsiwek at illinois.edu
Thu Mar 24 05:50:09 PDT 2016

> On Mar 21, 2016, at 12:36 PM, Matthias Vallentin <vallentin at icir.org> wrote:
> The "implementation detail" maxim lead to artifacts like PIMPL. This
> certainly made sense at the time where we considered multiple messaging
> backends. At this point, we are invested into CAF, and I don't think
> switching will happen anytime soon. Therefore, I don't think we need to
> keep up the implementation-hiding abstractions, such as PIMPL, which
> come at the cost of development productivity and performance (they are
> essentially a compiler firewall due to type erasure). 

A possible benefit to PIMPL is improving ability to maintain binary compatibility across releases (i.e. programs dynamically linked to Broker don’t need a recompile if a new release is binary compatible).  Providing stable-ish ABIs seems like something libraries often do, so I tried to plan that in to Broker.  Don’t know if I did that well, or there’s better strategies to use, or I was the only one worried about that to begin with, but thought I’d mention it just in case it wasn’t even on your radar.

- Jon

More information about the bro-dev mailing list