Description
Hey @hoijui and team!
I found this library as a potential solution for transmission of OSC messages from a Java client to an OSC compatible application and am working on a lightweight client for that application. However, upon reviewing that client's protocol, they use a OSC 1.1-compatible TCP connection that uses a SLIP wrapper for communication.
As per the OSC 1.1 specs:
Stream-oriented protocols such as TCP and serial byte streams need a framing mechanism to establish message boundaries. These streams are now required to employ SLIP (RFC1055) with a double END character encoding. This choice has been used extensively for years on the Make Controller board and in our micro-OSC work and we have established its efficiency and superiority over the OSC 1.0 size-count-preamble recommendation when recovering from damaged stream data.
My questions are:
- Is this library intended to be compatible with OSC 1.1 specification?
- Has anyone started development of the SLIP protocol or recommend an approach (note--my initial investigations seem to suggest that separate implementations of the parser and serializer interfaces loaded by
OSCSerializerAndParserBuilder
would be required, perhaps anOSCSerialParser
andOSCSerialSerializer
or something similar)?
I know that the TCP client was just recently implemented by @daveyarwood in #52, and understand that TCP compatibility is net-new in this library anyway, so I am definitely open to helping to develop this implementation.
Thanks again for your hard work on this project.
References:
- OSC 1.1 whitepaper: https://cnmat.org/files/attachments/Nime09OSCfinal.pdf
- Full RFC for SLIP: https://tools.ietf.org/html/rfc1055