Skip to content

"Split" and "convert" are undefined #71

Description

@annevk

What is the issue with the Compression Standard?

In

Split |buffer| into one or more non-empty pieces and convert them into {{Uint8Array}}s.

it's somewhat clear what needs to happen, but generally we define "split" and "convert" in more detail.

Activity

  1. saschanaz commented on Feb 27, 2025

    @saschanaz
    Member

    I was thinking of modifying the steps to something like:

    1. Pass |chunk| to |context|.
    2. Let |results| be « ».
    3. While |context| has enough data to decompress:
      1. Let |buffer| be the result of the next decompression result.
      2. [=list/Append=] |results| with the result of converting |buffer| to Uint8Array.

    It still does not define what "enough data" means, but that can be implementation detail (as it depends on different libraries) and this would match more of what the implementations do.

  2. annevk commented on Feb 27, 2025

    @annevk
    MemberAuthor

    What does "Pass" mean there?

    If something is implementation-defined it would be good to state that explicitly and link the relevant term in Infra.

  3. saschanaz commented on Feb 27, 2025

    @saschanaz
    Member

    What does "Pass" mean there?

    Giving the chunk to the underlying compression library to compress/decompress. Maybe there's a better way to phrase that.

    If something is implementation-defined it would be good to state that explicitly and link the relevant term in Infra.

    Agreed, although not immediately clear to me how it could be defined in terms of infra.

  4. annevk commented on Feb 27, 2025

    @annevk
    MemberAuthor

    There should probably be some concept of a compression system and then you can define "Pass" for that and link it all up.


    Infra defines "implementation-defined" which is what you'd link there.

  5. saschanaz commented on Feb 27, 2025

    @saschanaz
    Member

    There should probably be some concept of a compression system and then you can define "Pass" for that and link it all up.

    Isn't that what "compression context" supposed to be? Maybe we can add more states there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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