#292: Wrap all uses of socket with callbacks for better compatibility -------------------------+------------------ Reporter: Eschaton | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Component: API | Version: Keywords: | Blocked By: Blocks: | -------------------------+------------------ Only a subset of the functions used on a socket/fd passed into libssh2 are wrapped in standard callbacks. For example, libssh2 will still invoke the stock select/poll and ioctl functions on a socket it's passed, to do things like check for I/O and control non-blocking behavior.
This makes it between difficult and impossible to use libssh2 (without significant modification) over another transport, or even over a socket where full control can't be given to the library (such as a socket managed via dispatch I/O on OS X or iOS). If all calls on the socket used by libssh2 always went through semantic callback wrappers (eg "set non blocking," "set reusable" and so on, rather than "do an ioctl") then it would be possible to use libssh2 with an entirely-application-layer transport. It might also make it easier to abstract -- Ticket URL: <https://trac.libssh2.org/ticket/292> libssh2 <https://trac.libssh2.org/> C library for writing portable SSH2 clients _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel