Latest release of The Server Framework: 6.9
Version 6.9 of The Server Framework was released today.
This release includes lots of code change due to: the removal of support for Visual Studio 2012 and the results of lots of static analysis.
As always, see the release notes here, for full details of all changes.
Bug fixes:
- Bug fix to
JetByteTools::Win32::TAddressOrderedMultiLock::Unlock()which was not setting the ’locked’ flag correctly and so could lead to locks being unlocked multiple times. - Bug fix to
JetByteTools::Win32::CEventOwnerto correctly handle the ’nothing’ flag. - Bug fix to
JetByteTools::IO::CBuffer::DuplicateBuffer()so that it allocates a buffer of suitable size when a ‘custom sized buffer’ is being duplicated. - Bug fix to
JetByteTools::IO::CBufferAllocator::InternalAllocateCustomSizedBuffer()so that it correctly callsOnBufferAllocated()on the monitoring interface.
Breaking changes:
- Dropped support for Visual Studio 2012.
- Deprecated Hixie76 WebSockets,
JetByteTools::Win32::CRegistryConfiguration, some methods onJetByteTools::IO::CBufferChainandJetByteTools::IO::CBufferProcessor. - Removed
JetByteTools::Win32::ICollectableThreadPool,JetByteTools::Win32::CThreadPoolCollection,JetByteTools::Win32::TLinkedClass,JetByteTools::Win32::TSingleton,JetByteTools::IO::CBufferList,JetByteTools::IO::CInOrderBufferList,JetByteTools::IO::CNonPooledBuffer,JetByteTools::IO::CSequentialBufferList,JetByteTools::IO::CSmartBufferList,JetByteTools::IO::CLockFreeBufferandJetByteTools::IO::CLockFreeBufferAllocator. - Removed the concept of “Multi buffer handles” and
JetByteTools::IO::IAllocateMultiBufferHandles,JetByteTools::IO::CMultiBufferHandleandJetByteTools::IO::CMultiBufferHandleAllocator. - Changes to
JetByteTools::Win32::IMonitorThreadPool. BothJetByteTools::Win32::IMonitorThreadPool::OnThreadPoolProcessingStarted()andJetByteTools::Win32::IMonitorThreadPool::OnThreadPoolProcessingStopped()have a new parameter passed to themdataAvailableaboolwhich is used with the functionality that was added in 6.6.5 wherebyJetByteTools::Win32::IIOCPWorkerThreadCallback::ProcessEx()can return true to causeJetByteTools::Win32::IIOCPWorkerThreadCallback::NoItemsToProcess()to be called when the queue is empty. The addition of thisboolallows monitoring code to differentiate between calls that result in processing and calls that do not. This is especially important if you are monitoring the number of items in the queue by tracking them as they go in and when their processing begins. This change results in corresponding changes to the following classes:JetByteTools::Win32::CNullThreadPoolMonitor,JetByteTools::Win32::IManageThreadPoolThreads,JetByteTools::Win32::CThreadPoolandJetByteTools::Win32::CThreadPoolEx. - Changes to
JetByteTools::IO::IAllocateBuffer,JetByteTools::IO::IAllocateBufferHandles,JetByteTools::IO::IAllocateBuffers,JetByteTools::IO::IManageBufferHandleLifeCycle,JetByteTools::IO::IManageBufferLifeCycle,JetByteTools::IO::IPoolBuffersandJetByteTools::IO::IBufferall changed to returnJetByteTools::IO::CSmartBufferrather than raw pointers. - Methods on
JetByteTools::IO::IBufferChainandJetByteTools::IO::IUnsortedBufferChainthat do not takeJetByteTools::IO::CSmartBufferhave been deprecated. Some additional methods have also been removed where alternate functionality is available. UseDEPRECATE_BUFFER_CHAIN_METHODSto control if these methods are still available. - Methods on
JetByteTools::IO::IBufferProcessorthat do not takeJetByteTools::IO::CSmartBufferhave been deprecated. UseDEPRECATE_BUFFER_PROCESSOR_METHODSto control if these methods are still available.