Skip to content
This repository was archived by the owner on Sep 17, 2020. It is now read-only.
This repository was archived by the owner on Sep 17, 2020. It is now read-only.

Look into rewriting the protocol parsers in nom/something else. #67

@tobz

Description

@tobz

Long story short: I think we can do better with our parser code, ever so slightly, but I really want to codify the protocol better as a grammar.

I'm not so much worried about getting it right by hand -- I'm pretty confident in that -- but I want to be better about dropping bad connections. Right now, you only get your connection dropped if you input certain wrong values, but we don't exhaustively match, byte-by-byte, if something could possibly be valid.

My hope is that by using a a parser combinator like nom, we could very quickly bail out if anything was amiss. We won't let bad data through as-is, but handling all of the possible fail-fast points is not worth doing by hand, IMO.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions