zeromq / zmqpp

0mq 'highlevel' C++ bindings
http://zeromq.github.io/zmqpp
Mozilla Public License 2.0
439 stars 195 forks source link

Improved the api dealing with file descriptors (see #111). #112

Closed rcane closed 9 years ago

rcane commented 9 years ago

Until now adding raw sockets to poller and reactor was done using a file descriptor as an int. This only works properly under POSIX. Under Windows a raw socket is represented as a SOCKET type. This type cannot simply be cast into int because under 32-bit it is actually an unsigned int and under 64-bit it is an unsigned __int64.

The problem was solved by introducing a new typedef raw_socket_t which is of type SOCKET under Windows and an int under the other platforms. All methods taking an int as a file descriptor now take raw_socket_t hiding this platform detail away.

The documention was changed accordingly to talk about 'standard socket' where 'file descriptor' was used before.

This is a api-breaking change (at least under Windows).

This fixes #111.