@@ -296,19 +296,30 @@ typedef struct git_smart_subtransport_stream git_smart_subtransport_stream;
296296
297297/**
298298 * A stream used by the smart transport to read and write data
299- * from a subtransport */
299+ * from a subtransport.
300+ *
301+ * This provides a customization point in case you need to
302+ * support some other communication method.
303+ */
300304struct git_smart_subtransport_stream {
301- /** The owning subtransport */
302- git_smart_subtransport * subtransport ;
305+ git_smart_subtransport * subtransport ; /**< The owning subtransport */
303306
304- /** Read available data from the stream */
307+ /**
308+ * Read available data from the stream.
309+ *
310+ * The implementation may read less than requested.
311+ */
305312 int GIT_CALLBACK (read )(
306313 git_smart_subtransport_stream * stream ,
307314 char * buffer ,
308315 size_t buf_size ,
309316 size_t * bytes_read );
310317
311- /** Write data to the stream */
318+ /**
319+ * Write data to the stream
320+ *
321+ * The implementation must write all data or return an error.
322+ */
312323 int GIT_CALLBACK (write )(
313324 git_smart_subtransport_stream * stream ,
314325 const char * buffer ,
@@ -321,7 +332,8 @@ struct git_smart_subtransport_stream {
321332
322333/**
323334 * An implementation of a subtransport which carries data for the
324- * smart transport */
335+ * smart transport
336+ */
325337struct git_smart_subtransport {
326338 /**
327339 * Setup a subtransport stream for the requested action.
@@ -362,13 +374,11 @@ typedef int GIT_CALLBACK(git_smart_subtransport_cb)(
362374 * or how to move data back and forth. For this, a subtransport interface is
363375 * declared, and the smart transport delegates this work to the subtransports.
364376 *
365- * Three subtransports are provided by libgit2: git, http, and winhttp.
366- * The http and winhttp transports each implement both http and https.
377+ * Three subtransports are provided by libgit2: ssh, git, http(s).
367378 *
368379 * Subtransports can either be RPC = 0 (persistent connection) or RPC = 1
369380 * (request/response). The smart transport handles the differences in its own
370- * logic. The git subtransport is RPC = 0, while http and winhttp are both
371- * RPC = 1.
381+ * logic. The git subtransport is RPC = 0, while http is RPC = 1.
372382 */
373383typedef struct git_smart_subtransport_definition {
374384 /** The function to use to create the git_smart_subtransport */
@@ -389,8 +399,7 @@ typedef struct git_smart_subtransport_definition {
389399/**
390400 * Create an instance of the http subtransport.
391401 *
392- * This subtransport also supports https. On Win32, this subtransport may be
393- * implemented using the WinHTTP library.
402+ * This subtransport also supports https.
394403 *
395404 * @param out The newly created subtransport
396405 * @param owner The smart transport to own this subtransport
0 commit comments