v7.10 release
7.10 Released 12/3/2018
- Under C++11 and later, the status_t type is now a
class rather than a simple typedef for int32. It
is used pretty much the same way as before, except
now it provides better compile-time error-checking. - Under C++11 and later, the status_t type (and its
values B_OK, B_ERROR, and B_NO_ERROR) are now part
of the muscle namespace. - Added a WithoutNumericSuffix() convenience method to
the String class. - The CMakeLists.txt file has been modified so that it
is now usable by CMake 2.8.x and higher. - Functions in the C APIs have been modified to return
type c_status_t (CB_ERROR or CB_NO_ERROR) rather than
status_t, to avoid ambiguities with the new C++11
version of status_t in mixed C/C++11 programs. - BitChord::GetNumBitsInBitChord() and friends are now
declared as static/constexpr rather than const methods,
so that they can be called at compile-time now. - Replaced the MUSCLE_ENABLE_KEEPALIVE_API compile-flag
with a new MUSCLE_DISABLE_KEEPALIVE_API flag (i.e.
so that the socket-keepalive API is now enabled by
default if neither flag is specified) - DOxygen documentation is now generated with C++11
enabled (before it was documenting the pre-C++11 API)
- In the BitChord class, GetNumBytesInBitChord() and
GetNumWordsInBitChord() were mis-named. Fixed. - Fixed a bug that affected MUSCLE subscriptions that
included a QueryFilter: If a DataNode matched a
subscription's node-path string, but its Message-payload
didn't match the QueryFilter's criteria (at the time the
subscription was created), then future modifications to the
DataNode would not cause the subscriber to be notified
even if the updated Message-payload did change to match
the QueryFilter's criteria. - Modified StorageReflectSession::DoSubscribeRefCallback() to
take its argument via an object-pointer rather than
smuggling an integer delta-value to it inside a (void *).