-------------------------------------------------------------------------------- BEAST TODO -------------------------------------------------------------------------------- - Remove ReadWriteMutex and replace it with a CriticalSection since the implementation is broken. - Rewrite SharedData to work with a CriticalSection - Use new file naming convention - Use SemanticVersion for beast version numbers to replace BEAST_VERSION - add support for a __PRETTY_FUNCTION__ equivalent for all environments - add expectThrow() to UnitTest, where it expects an exception - Import secp256k1 from sipa - HashMap work: - Add unit test - Return size_t from hash function, take out upperLimit, move mod % to caller - Make hash function a functor using operator() - Implement HardenedHashFunctions - Fix problem with assigning to the result of operator[] maybe use a proxy? - Set sqlite thread safety model to '2' in beast_sqlite - Document and rename all the sqdb files and classes - Specialize UnsignedInteger<> for peformance in the storage format - Rename HeapBlock routines to not conflict with _CRTDBG_MAP_ALLOC macros - Design a WeakPtr / SharedPtr / SharedObject intrusive system - Implement beast::Bimap? - Use Bimap for storage in the DeadlineTimer::Manager, to support thousands of timers. - Think about adding a shouldStop bool to InterruptibleThread, along with a shouldStop () function returning bool, and a stop() method. - Make OwnedArray add routines return a pointer instead of reference - Tidy up CacheLine, MemoryAlignment - Remove anything having to do with DLL builds like BEAST_DLL, BEAST_DLL_BUILD, BEAST_DISABLE_DLL_ALLOCATORS - Fix FifoFreeStoreWithTLS reference counting bug - Implement a reasonable substitute for boost's thread_local_storage - Think about doing away with BEAST_CALLTYPE and BEAST_API - Decide if headers should just include BeastConfig.h instead of making the host program do it. - Rename malloc/calloc JUCE members that conflict with the debug CRT from MSVC - Make beast::HashMap support assignment via operator[] - Reformat every Doxygen comment - Fix Doxygen metatags - update Beast Doxyfile - Rename include guards to boost style, e.g. BEAST_THROW_H_INCLUDED - Decide if we should get rid of AtomicCounter, AtomicFlag, AtomicPointer, AtomicState - Clean up CacheLine, StaticObject - Clean up ConcurrentObject - Rename SharedData to SharedState or something? - Figure out what to do with ReadWriteLock, and NamedPipe which uses it? - Put BEAST_PUBLIC_FUNCTION in front of all loose functions - restructure the repo sources to look like this: /Source/beast/beast_core/beast_core.h etc... - Put the BeastConfig.h at the root of the repo. - Make sure the template BeastConfig.h is included in the Doxyfile - Implement robust key/value database with bulk write