Latest release of licensed socket server code: 6.1.1
The latest release of The Server Framework is now available. This release includes the following changes.
Note that this is mainly a bug fix release.
The following changes were made to the libraries.
Admin Library - 6.1.1
-
New build configuration options. All of these are enabled by defining the option to
1inConfig.hand disabled by defining them to0; the default state if you do not do anything inConfig.his shown for each option: -
JETBYTE_USE_CAPTURE_STACK_BACK_TRACE- enabled by default. Define to0to prevent the use ofCaptureStackBackTrace()when building for platforms later than Windows XP. Normally we assume thatCaptureStackBackTrace()is available on Windows XP SP1 and later, however if you’re building using the default Platform SDK that came with Visual Studio 2005 this does not includeCaptureStackBackTrace()and so our platform version check wrongly includes code that cannot build. -
JETBYTE_ADDITIONAL_BUFFER_TRACKING_CONTEXTandJETBYTE_ADDITIONAL_SOCKET_TRACKING_CONTEXT- by default the buffer and socket reference tracking code keeps one level of call stack context outside of the actual call within the library code that caused the reference to change. This is often enough context to track down the problem and keeps the amount of memory required for storing call stacks down. Sometimes, however, you need a little more context, in those situations you should defineJETBYTE_ADDITIONAL_BUFFER_TRACKING_CONTEXTand/orJETBYTE_ADDITIONAL_SOCKET_TRACKING_CONTEXTto a value that represents the additional number of stack frames that you want saved and displayed. Note that each additional level of call stack that is stored requires aDWORD64of space per call so these additional stack frames can soon add up.
Win32 Tools Library - 6.1.1
-
Added JetByteTools::Win32::MurMurHash2 by Austin Appleby. See http://murmurhash.googlepages.com/. This is used
JetByteTools::Win32::CCallStackto provide a hash of the stack. -
Updated
JetByteTools::Win32::StackWalkerto use the v10 (2009-11-01) version of Jochen Kalmbach’s code. See http://stackwalker.codeplex.com for details. -
Fixed a ’lack of locking’ bug in
JetByteTools::Win32::CCallTrackerwhich caused problems during over-release reference dumps. -
Added
JetByteTools::Win32::ITrackReferences::TrackAllocationsFrom,JetByteTools::Win32::ITrackReferences::ExcludeAllocationsFromandJetByteTools::Win32::ITrackReferences::TrackFromHerewhich allow you to restrict which socket or buffer allocators are tracked by the reference tracking code when it’s enabled. This can be very useful in reducing the runtime performance cost of enabling reference tracking.
I/O Tools Library - 6.1.1
-
Fixed a bug in
JetByteTools::IO::CRotatingAsyncFileLogwhich could cause the date stamp for a log file to end up with a date of 16010101. See here http://www.lenholgate.com/archives/000880.html for more details. -
Fixed a bug in
JetByteTools::IO::CRotatingAsyncFileLogwhich caused the timestamp in the log to include 4 characters for the milliseconds rather than 3 resulting in 0999 rather than 999. -
Changed how
JetByteTools::IO::CBufferReferenceTrackerworks. You can now get it to include additional call stack context by definingJETBYTE_ADDITIONAL_BUFFER_TRACKING_CONTEXT(inConfig.h) to the number of additional frames of context that you require.
Socket Tools Library - 6.1.1
- Changed how
JetByteTools::Socket::CSocketReferenceTrackerworks. You can now get it to include additional call stack context by definingJETBYTE_ADDITIONAL_SOCKET_TRACKING_CONTEXT(inConfig.h) to the number of additional frames of context that you require.
OpenSSL Tools Library - 6.1.1
- No changes.
SChannel Tools Library - 6.1.1
- Fixed a bug in
JetByteTools::SSPI::SChannel::CContextwhich would cause a small memory leak in derived classes (missing virtual destructor).
SSPINegotiate Tools Library - 6.1.1
- No changes.
SSPI Tools Library - 6.1.1
- No changes.
PerfMon Tools Library - 6.1.1
- No changes.
Service Tools Library - 6.1.1
- Fixed a bug with
JetByteTools::Service::CServiceStatus::RegisterForDeviceNotification()andJetByteTools::Service::CServiceStatus::RegisterForPowerSettingNotification()so that they work when called in service debug mode. Note that since the service is running as a normal exe in service debug mode we can’t actually register for device and power notifications as we don’t have a valid handle to our service in the SCM. Instead we simply skip these calls and output some debug.
CLR Hosting Tools Library - 6.1.1
- No changes.
Full details of the licensed version of the code are available here.
Full details of the free version of the code are available here.
No new documentation for this release.
Doxygen documentation for the latest release is available here.
If you’re an existing client and you’d like these changes let me know.