buttplug-csharp
buttplug-csharp copied to clipboard
Buttplug C# Client Implementation
Some lovense devices throw GATT characteristic errors when connecting. They seem to connect ok after that, but it's confusing to read in the logs.
We shouldn't dictate a default port name at the library level.
Getting some double/triple prints of messages received, like ``` 2019-04-09T06:40:14.577Z : process : Process : Got RequestServerInfo message. 2019-04-09T06:40:14.628Z : process : Process : Got RequestDeviceList message. 2019-04-09T06:40:14.633Z : process...
Spent a long time making sure everything async passes stuff, but we don't actually have any examples or tests of passing tokens and stopping stuff. Should actually do that.
Implement a way for disconnect to tear down protocols before devices (so we can do things like box resets, this would also be nice to make sure we stop devices...
Implement timeouts in ReadValueAsync (probably useful everywhere, can work at Device level in ButtplugDeviceImpl again, just use cancellation tokens and timers)
Easier than having the user try and figure it out themselves, we can just have them send a log.
The JSON parser/handler brings in dependencies to the core library that I'd like to avoid. We should externalize parsers and make them part of setup. Note that Protobufs could still...
IPC tests just sit there forever on mac/linux. We should add a timeout and also figure out what's wrong exactly.
Got tests running on azure on all platforms, just to find out that Message transmission mode is a windows kernel feature that doesn't exist for pipes in *nix land. Oops.