Skip to content

Refactor h3zero client and demo client #1795

@huitema

Description

@huitema

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions