<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/libgit2/streams, branch main</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>win32: use WSAGetLastError to determine blocking</title>
<updated>2023-05-13T15:42:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-04-11T19:55:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=14c820b191a7083bf9a54792e09afcd83e0f0206'/>
<id>14c820b191a7083bf9a54792e09afcd83e0f0206</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>win32: getsockopt takes a `char *` instead of a `void *`</title>
<updated>2023-05-13T15:42:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-05-12T19:48:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=03eebab8a9fc353e96b2f6932d28defd5d868bca'/>
<id>03eebab8a9fc353e96b2f6932d28defd5d868bca</id>
<content type='text'>
Monsters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Monsters.
</pre>
</div>
</content>
</entry>
<entry>
<title>posix: introduce p_poll emulation with select</title>
<updated>2023-05-13T15:42:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-05-12T19:48:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=94f98400bf950aa9835ff9b04c724f2aa3ebd0fc'/>
<id>94f98400bf950aa9835ff9b04c724f2aa3ebd0fc</id>
<content type='text'>
Not all systems have poll(2); emulate it with select(2).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not all systems have poll(2); emulate it with select(2).
</pre>
</div>
</content>
</entry>
<entry>
<title>streams: sockets are non-blocking and can timeout</title>
<updated>2023-05-13T15:42:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-05-12T19:48:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=fad90428970e332153027773b517a1606c0efa1f'/>
<id>fad90428970e332153027773b517a1606c0efa1f</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>net: move `gitno` buffer to `staticstr`</title>
<updated>2023-05-13T15:42:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-05-12T19:48:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=11c89c386c8862f834097cdc5d9ed79634cf00f3'/>
<id>11c89c386c8862f834097cdc5d9ed79634cf00f3</id>
<content type='text'>
The `gitno` buffer interface is another layer on top of socket reads.
Abstract it a bit into a "static string" that has `git_str` like
semantics but without heap allocation which moves the actual reading
logic into the socket / stream code, and allows for easier future usage
of a static / stack-allocated `git_str`-like interface.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `gitno` buffer interface is another layer on top of socket reads.
Abstract it a bit into a "static string" that has `git_str` like
semantics but without heap allocation which moves the actual reading
logic into the socket / stream code, and allows for easier future usage
of a static / stack-allocated `git_str`-like interface.
</pre>
</div>
</content>
</entry>
<entry>
<title>net: move rfc2818 hostname / wildcard matching to util</title>
<updated>2023-05-13T15:42:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-05-12T19:48:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=6e4bbf222d8c4babaff90aef40615546c8bc9cde'/>
<id>6e4bbf222d8c4babaff90aef40615546c8bc9cde</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>stransport: store error information</title>
<updated>2023-05-13T15:42:04+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-05-12T19:48:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=dbe343b6e3e957b5cffbd04832c6e7364b496ae7'/>
<id>dbe343b6e3e957b5cffbd04832c6e7364b496ae7</id>
<content type='text'>
We lose some error information from the read / write callbacks to
stransport. Store our own error value in the object so that we can
ensure that we rely upon it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We lose some error information from the read / write callbacks to
stransport. Store our own error value in the object so that we can
ensure that we rely upon it.
</pre>
</div>
</content>
</entry>
<entry>
<title>utf8: add conversion with size and refactor names</title>
<updated>2023-03-21T09:14:06+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-03-11T12:45:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=0d7f3f52918a00a2a07ba965eb65c6ac5d122867'/>
<id>0d7f3f52918a00a2a07ba965eb65c6ac5d122867</id>
<content type='text'>
Add functions to use convert a string with length, instead of assuming
NUL termination.

In addition, move the utf8 to 16 conversion routines into the `git_utf8`
namespace instead of using namespaceless `git__` prefixed names.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add functions to use convert a string with length, instead of assuming
NUL termination.

In addition, move the utf8 to 16 conversion routines into the `git_utf8`
namespace instead of using namespaceless `git__` prefixed names.
</pre>
</div>
</content>
</entry>
<entry>
<title>http: introduce schannel streams for windows</title>
<updated>2023-03-21T09:09:48+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2023-03-06T23:19:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f68f542eb63efb0f50e00d2376196f5bd48ed41e'/>
<id>f68f542eb63efb0f50e00d2376196f5bd48ed41e</id>
<content type='text'>
Provide a stream interface for Schannel - the native crypto APIs - on
Windows. This allows Windows to use the same HTTP transport that all the
other platforms use, with its own native crypto.

Ultimately this allows us to deprecate WinHTTP and we need not add
support for our socket changes in two places (our HTTP stack and the
WinHTTP stack).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide a stream interface for Schannel - the native crypto APIs - on
Windows. This allows Windows to use the same HTTP transport that all the
other platforms use, with its own native crypto.

Ultimately this allows us to deprecate WinHTTP and we need not add
support for our socket changes in two places (our HTTP stack and the
WinHTTP stack).
</pre>
</div>
</content>
</entry>
<entry>
<title>socket: mark flags as unused</title>
<updated>2023-02-15T10:07:35+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>edward.thomson@vercel.com</email>
</author>
<published>2023-02-15T10:07:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f892ec2add4c180de4ab71fefe0f21d7cf9e09c1'/>
<id>f892ec2add4c180de4ab71fefe0f21d7cf9e09c1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
