secretsauceai / voice-assistant-protocol

A bus for voice assistants, including benchmarks.
BSD 3-Clause "New" or "Revised" License
5 stars 1 forks source link

Working on rust implementation #48

Open skewballfox opened 8 months ago

skewballfox commented 8 months ago

I created an OpenAPI.json because it apparently can be used to describe non-html protocols such as CoAP, and in the future it might be beneficial for generation of client or server bindings.

I used the newtype pattern to format the request the clients have to send, still trying to figure out how to do that for the responses. I added an enum for Capabilities. I'm thinking of adding a build.rs file to the vap-common part of the library to define compile time constants(such as vap version, and perhaps capabilities).

I'm trying to avoid writing the network stuff that forces the user to use TCP or UDP, but just requires that the NetworkStuff has been initialized by the time the client is making request.

I'm thinking we should write it in a way that Servers are probably compiled with std, but clients may be resource constrained and thus, should be client-centric code should be written explicitly with #![no_std]