Skip to content

(Future "breaking change" API improvement) Compile-time config for ipc::session objects to be done as Config object template parameters instead of long lists of individual per-option template parameters. #146

Open
@ygoldfeld

Description

@ygoldfeld

So, like, right now it's e.g.:

template<schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload = ::capnp::Void>
using Server_session

One, it makes the impl code yucky with the endless template arg lists all over. Two, it's inelegant to the user, at least somewhat. Three, if we wanted to add more such config (see below), it becomes a cluster!@#$.

Instead rejigger it, so it's maybe the way one can configure boost::container items via compile-time config object single-arg. Details TBD.

Related: When MQs are enabled (S_MQ_TYPE_OR_NONE above != NONE), the message size limit default could/should be configurable. Granted, after #145 one can fix-it-up with a runtime call, but the default being configurable would make it more convenient.

And so on.

Priority: it's a nice-to-have; no one is blocked from doing anything, that I know of, without it; but since it'll be a breaking change, it's better to get it done earlier, to avoid paying the tech-debt tax.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions