Subject: [libssh2] #292: Wrap all uses of socket with callbacks for better compatibility

[libssh2] #292: Wrap all uses of socket with callbacks for better compatibility

From: libssh2 Trac <trac_at_libssh2.stuge.se>
Date: Wed, 03 Dec 2014 19:18:49 -0000

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