mhowlett / NNanomsg

.NET binding for nanomsg
MIT License
179 stars 52 forks source link

Normalizing naming and the usage of the interop library #6

Closed kwpatrick closed 10 years ago

kwpatrick commented 10 years ago

This change effectively merges the socket objects and applies a uniform "Nanomsg" class name prefix.

Notable points:

EINTR handling. Martin has a fair amount about this on his blog:

http://250bpm.com/blog:12

It seems like the usage of this is limited to Ctrl-C on console applications. I currently have adopted the more conservative route of immediately re-attempting the call (a limited number of times). If only non-Windows console apps will be producing this error code then I'd be fine with just translating it directly into an exception.

I added a symbol class, which reads out the values defined by the native library. Many of these already exist as constants and enums; it would be best to validate that that the static values match those reported by the native library, in order to check that the versions match.