And 2 more!
- global handshake_mutex is unlocked, but not locked in wiced_websocket_close().
- Inside websocket_common_connect, global handshake_mutex won't be unlocked on errors, because of multiple early exits via IF_ERROR_RECORD_AND_EXIT macro.
I keep on finding more minor things.
- websocket_manager is basically unused for anything (websocket registration isn't used for any purpose).
- There are variables that's set and not used, like frame_control_bytes and frame_length_bytes in wiced_websocket_receive().
- Some other minor bugs, e.g. comparison that's always true: if ( &websocket->socket != NULL )
All of these make me conclude the library is incomplete and is not meant to be used in production.
You're not alone. It isn't easy finding out what's ready and what's not anymore.
Yes, there is a websocket library in the SDK 3.1.2 release but it is not supported yet. There is no snippet sample application as well. On next WICED SDK release, websocket will be supported and there will be a snippet sample application as well. There is an intention to support splitting across multiple frames on future releases.
If you don't mind me asking, why was it released if it's not supported? What's the status of SDK 3.1.2 in general? Is it a beta?
We will look into what happened here, we will be more careful in future releases.
Just a few suggestions.
Do you consider time based stable release for the SDK?
If a new feature take time to development, that's fine.
But people still need bug fix for current SDK.
For example, the sdk-3.1.2 needs a lot of fixes (a lot of patches available
on the forum). There are also some bugs pointed out by alex on
the forum but does not get fix. I think it's important to get bug fix first.
It would be helpful if you can release time based bug fix release.