I worked on PROTON-996 last week, and added a new C API which
surfaced the allowed SASL mechanism into the Proton Messenger API.
For simplicity I added a new API pn_messenger_sasl_allowed_mechs()
which just mirrored the pn_sasl_allowed_mechs() API.
However When I went to create a new API for the Python binding (the
higher level OO binding)It wasn't at all obvious where it fits.
This is largely because all the transport details were deliberately
left out of the Messenger API because it is intended to be message
focused. In practice all the previous transport oriented details were
specified in the destination address URL.
So I'm now questioning my whole approach. It could be that the API is
just, as a whole, inadequate to it's task as it can't cope with all the
complexity necessary. And I think that some would argue that.
I definitely think that continually adding extra little warts here and
there will make this API unusable in the long term. But even in the
short term I can't really see how to map this transport detail into the
world of the Python Messenger object.
Does anyone have any thoughts or advice (ranting and pontificating