[nanomsg] NNG SWIG to C# update

  • From: Michael Powell <mwpowellhtx@xxxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Sat, 28 Oct 2017 13:36:35 -0400

Hello,

Just wanted to report a fair bit of progress into SWIG mapping from my
C++ wrappers into C#.

Thus far my commit log reflects refactoring and addressing C++
language concerns approaching SWIG.

https://github.com/mwpowellhtx/nngcpp

Locally, I've got a handful of SWIG interface files staged and in the
works. My first focus is on the Messaging subsystem itself. So far so
good with a bit of SWIG persuasion coupled with end user
comprehension.

General impressions, this is not my first exposure to SWIG. I've seen
it in use and/or have dealt with it in previous experience, and when
it works, it is pretty effective. Plus there are language bindings to
just about anything these days.

I would also like to leverage CMake "built-in" support for SWIG, but
we'll see how that goes. I may need/want more control over the
intermediate steps than the boilerplate stuff CMake provides. For now
my focus is on just getting the interface files to generate the most
appropriate possible target language code, preferably with minimal
manually inject target language code (i.e. for things like interfaces,
or multiple inheritance thereof).

My next focus will be on the Options subsystem, then on the Sockets
(i.e. Sender, Receiver) subsystem, and finally doing something around
the Async subsystem. Exception handling will also need to
comprehension.

Then of course, not far behind CMake project comprehension, I also
want to introduce language level unit testing to at least complement
the C and C++ unit tests.

Future goals include wider community adoption. The chief selling point
is, why roll your own binding, when you could add a SWIG shim into
your target language of choice?

Cheers,

Michael Powell

Other related posts:

  • » [nanomsg] NNG SWIG to C# update - Michael Powell