You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Rename namespace from 'web_sockets' to 'websockets' create alias to keep from breaking customers.
Will be removed at next major release.
2. Deleted unnecessary move constructor and move assignment operator from
websocket_client class.
3. Removed unnecessary storage of task completion event for sending messages from
websocket_outgoing_message, moved instead to websocket_incoming_message.
4. Added overload to websocket_outgoing_message::set_utf8_message for r-value
references and const reference instead of just taking by value and moving.
5. websocket_outgoing_message::extract_string() - in our implementation the
string always arrives immediately and there was no need to use a
task completion event, so I deleted it. Results in less code and storage space.
6. Removed unnecessary websocket_incoming_message::_prepare_to_receive_data() function.
7. Changed our websocket desktop implementation for incoming messages to construct
a container_buffer backed by a std::string and move the raw std::string from websocketpp.
This saves a data copy on all incoming messages and is less code.
8. Changed our winrt implementation for incoming messages to use a container_buffer backed by std::string.
9. We deliver incoming websocket messages to customers in two forms: UTF-8 string and binary stream.
In all cases we control allocation of the underlying stream buffer being used. Previously we were using a producer_consumer_buffer.
Due to changes #8 and #9 before the data is stored in a std::string. This allows an optimization in websocket_incoming_message::extract_string.
We now move the std::string out of the buffer instead of doing an asychronous read. Also saves locking overhead from producer_consumer_buffer,
which is thread safe. And less code!
10. Removed some unnecessary string conversions for constructing websocket_exceptions.
11. Replaced some uses of std::unique_lock with std::lock_guard.
12. Misc adding more comments, const to some APIs, passing by reference, make_unique, etc...
0 commit comments