summaryrefslogtreecommitdiff
path: root/include/git2/errors.h
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2023-05-12 20:48:30 +0100
committerEdward Thomson <ethomson@edwardthomson.com>2023-05-13 16:42:04 +0100
commitfad90428970e332153027773b517a1606c0efa1f (patch)
tree499ad297bc61c02e7151aa76e0cf205142fa150d /include/git2/errors.h
parent933b04c219b49d0f9cd779d024bfa39d806839ac (diff)
downloadlibgit2-fad90428970e332153027773b517a1606c0efa1f.tar.gz
streams: sockets are non-blocking and can timeout
Make socket I/O non-blocking and add optional timeouts. Users may now set `GIT_OPT_SET_SERVER_CONNECT_TIMEOUT` to set a shorter connection timeout. (The connect timeout cannot be longer than the operating system default.) Users may also now configure the socket read and write timeouts with `GIT_OPT_SET_SERVER_TIMEOUT`. By default, connects still timeout based on the operating system defaults (typically 75 seconds) and socket read and writes block. Add a test against our custom testing git server that ensures that we can timeout reads against a slow server.
Diffstat (limited to 'include/git2/errors.h')
-rw-r--r--include/git2/errors.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/git2/errors.h b/include/git2/errors.h
index e634a97c1..7180852f9 100644
--- a/include/git2/errors.h
+++ b/include/git2/errors.h
@@ -58,7 +58,8 @@ typedef enum {
GIT_EMISMATCH = -33, /**< Hashsum mismatch in object */
GIT_EINDEXDIRTY = -34, /**< Unsaved changes in the index would be overwritten */
GIT_EAPPLYFAIL = -35, /**< Patch application failed */
- GIT_EOWNER = -36 /**< The object is not owned by the current user */
+ GIT_EOWNER = -36, /**< The object is not owned by the current user */
+ GIT_TIMEOUT = -37 /**< The operation timed out */
} git_error_code;
/**