Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor h3zero client and demo client #1795

Open
huitema opened this issue Dec 1, 2024 · 0 comments
Open

Refactor h3zero client and demo client #1795

huitema opened this issue Dec 1, 2024 · 0 comments

Comments

@huitema
Copy link
Collaborator

huitema commented Dec 1, 2024

The code coverage exercise showed a lot of replicated functions between democlient.c and the client part of h3zero_common.c. The difference is that the basic h3zero part is generic, while democlient.c is implementing the interaction logic of picoquicdemo. It should be possible to re-implement democlient.c as a layer on top of the common h3zero code.

The picoquicdemo interaction is based on a scenario, which progresses as specific HTTP requests get serviced or are abandoned. Having that interaction as a layer above the common code may required adding an "http client app" API to the common code. The current API allows to start connections and requests, but we are missing an API to inform an application about the completion of commands. We may also want an API informing the application about the arrival of data from the server, for example if applications want to perform progressive rendering.

The picoquic demo supports both H09 and H3. we need to support the specific mode of operation in which the demo client starts a connection without knowing which of these versions the server will select.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant