msh3: update to v0.5 Release

Closes #10125
This commit is contained in:
Nick Banks 2022-12-21 14:13:40 +00:00 committed by Daniel Stenberg
parent 3736c0a209
commit 72b819f147
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
3 changed files with 19 additions and 6 deletions

View File

@ -167,7 +167,7 @@ jobs:
- if: ${{ contains(matrix.build.install_steps, 'msh3') }}
run: |
git clone --depth=1 --recursive https://github.com/nibanks/msh3
git clone -b v0.5.0 --depth=1 --recursive https://github.com/nibanks/msh3
cd msh3 && mkdir build && cd build
cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$HOME/msh3 ..
cmake --build .

View File

@ -15,7 +15,7 @@ QUIC libraries we are experimenting with:
[quiche](https://github.com/cloudflare/quiche)
[msquic](https://github.com/microsoft/msquic) & [msh3](https://github.com/nibanks/msh3)
[msh3](https://github.com/nibanks/msh3) (with [msquic](https://github.com/microsoft/msquic))
## Experimental
@ -181,7 +181,7 @@ Build curl:
Build msh3:
% git clone -b v0.4.0 --depth 1 --recursive https://github.com/nibanks/msh3
% git clone -b v0.5.0 --depth 1 --recursive https://github.com/nibanks/msh3
% cd msh3 && mkdir build && cd build
% cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
% cmake --build .
@ -202,7 +202,7 @@ Run from `/usr/local/bin/curl`.
Build msh3:
% git clone -b v0.4.0 --depth 1 --recursive https://github.com/nibanks/msh3
% git clone -b v0.5.0 --depth 1 --recursive https://github.com/nibanks/msh3
% cd msh3 && mkdir build && cd build
% cmake -G 'Visual Studio 17 2022' -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
% cmake --build . --config Release

View File

@ -68,6 +68,8 @@ static void MSH3_CALL msh3_data_received(MSH3_REQUEST *Request,
static void MSH3_CALL msh3_complete(MSH3_REQUEST *Request, void *IfContext,
bool Aborted, uint64_t AbortError);
static void MSH3_CALL msh3_shutdown(MSH3_REQUEST *Request, void *IfContext);
static void MSH3_CALL msh3_send_complete(MSH3_REQUEST *Request,
void *IfContext, void *SendContext);
static const struct Curl_handler msh3_curl_handler_http3 = {
"HTTPS", /* scheme */
@ -96,7 +98,8 @@ static const MSH3_REQUEST_IF msh3_request_if = {
msh3_header_received,
msh3_data_received,
msh3_complete,
msh3_shutdown
msh3_shutdown,
msh3_send_complete
};
void Curl_quic_ver(char *p, size_t len)
@ -381,6 +384,15 @@ static void MSH3_CALL msh3_shutdown(MSH3_REQUEST *Request, void *IfContext)
(void)stream;
}
static void MSH3_CALL msh3_send_complete(MSH3_REQUEST *Request,
void *IfContext, void *SendContext)
{
struct HTTP *stream = IfContext;
(void)Request;
(void)stream;
(void)SendContext;
}
static ssize_t msh3_stream_send(struct Curl_easy *data,
int sockindex,
const void *mem,
@ -406,7 +418,8 @@ static ssize_t msh3_stream_send(struct Curl_easy *data,
}
H3BUGF(infof(data, "starting request with %zu headers", hreq->entries));
stream->req = MsH3RequestOpen(qs->conn, &msh3_request_if, stream,
(MSH3_HEADER*)hreq->header, hreq->entries);
(MSH3_HEADER*)hreq->header, hreq->entries,
MSH3_REQUEST_FLAG_FIN);
Curl_pseudo_free(hreq);
if(!stream->req) {
failf(data, "request open failed");