Releases: mikerochip/unity-websocket
DotNet implementation perf improvements
Moved the send loop from a thread pool thread back to the main thread since it was being a thread pool resource hog for no good reason.
Fix send loop performance in DotNet implementation
As noted in #19, the await Task.Yield()
send loop in the DotNet implementation was resulting in a huge perf hit due to the yield happening constantly. More noticeable with a larger number of active connections.
Change message buffers back to Queues
Fixes to address suggestion raised in #18 to reduce garbage. Public facing buffers were changed back to Queues, and DotNet path now produces less garbage when messages are received.
Error event for incoming message size exceeded
This was an oversight, see #17
Fix performance issue sending outgoing messages
This happened at high connection counts. See #15
Add WebSocketState.DisconnectedFromAppQuit
This proved useful to distinguish from the existing Disconnected event, since you may want to reconnect from a disconnect, but definitely wouldn't want to if the disconnect happens due to the app quitting.
Fix ReferenceError from universal makeDynCall macro
This comes up on some browsers, like mobile Safari
Invoking error handler due to
ReferenceError: getDynCaller is not defined
at *.framework.js:*
at instance.ws.onopen
Use universal version of WebGL makeDynCall macro
Minor release for WebGL that simplifies the WebAssembly.Table and older paths for calling into C# by using a single macromakeDynCall
overload instead of determining whether Module.dynCall
exists and preferring that. Friendly folks at Unity told me about this one!
Fix for Web `onerror` unreferenced var
Thanks to @Armynator for this one 🙏
WebAssembly.Table support (2023.2 and newer)
Per #13, dyncall
is now only used if the variable exists. It is stripped from 2023.2+ builds that have WebAssembly.Table enabled. According to this page there are now no more deprecated calls in the Web/jslib
code path.