#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-develReceived on 2014-12-03