klingtnet / rosc

An OSC library for Rust.
Apache License 2.0
173 stars 25 forks source link

Add address validation and matching #20

Closed DrLuke closed 2 years ago

DrLuke commented 3 years ago

Added address module with following features:

The validation is differentiates between method and message addresses, as defined by the OSC specification. Address matching uses either direct comparison or regex for addresses with wildcards.

I've tried to cover all kinds of cases with tests but I'm sure I've missed something.

👋 This is my first time contributing to a rust project, so feedback ony my code is very welcome!

klingtnet commented 3 years ago

I'm glad to hear that rosc will be your first Rust 🦀 contribution! I try to review your changes as soon as possible but expect it to take a couple of days [^1].

The validation is differentiates between method and message addresses, as defined by the OSC specification

Can you link to the specification section where method and addresses are defined so I can verify the implementation?

[^1]: Update I will do a short review today, without going into the technical details.

DrLuke commented 3 years ago

The validation is differentiates between method and message addresses, as defined by the OSC specification

Can you link to the specification section where method and addresses are defined so I can verify the implementation?

Sure! Here what I call a method address is explained under OSC Address Spaces and OSC Addresses and a message address is right below in OSC Message Dispatching and Pattern Matching. (Sorry page doesn't have chapter anchors :disappointed: )

What surprised me is that method addresses can't contain any wildcars, only the address in a message can. I think I've always seen this implemented the other way :smile:

klingtnet commented 3 years ago

Sorry, the GitHub UI confused me again. I already added the review suggestions four days ago but forgot to press the request changes button.

DrLuke commented 3 years ago

Sorry, the GitHub UI confused me again. I already added the review suggestions four days ago but forgot to press the request changes button.

No worries and thank you for the excellent review!

klingtnet commented 3 years ago

Only a quick update, I haven't forgotten about the PR and I will hopefully come back to you somewhen this week with more details.

klingtnet commented 3 years ago

Waits on https://github.com/DrLuke/rosc/pull/1 to be merged.

klingtnet commented 2 years ago

Hey 🖖🏻

Just wanted to let you know that I'm still alive and will merge this PR soon, hopefully Sunday. Sorry for the delay.

klingtnet commented 2 years ago

Finally, it's time for a merge. This will be included with the 0.6.0 I'm about to release. @DrLuke Thanks again!