Nice work Jacob and team! On Fri, Aug 11, 2017 at 1:40 PM, Udo Kohlmeyer <ukohlme...@pivotal.io> wrote:
> Awesome work!!! > > > On 8/11/17 13:23, Jacob Barrett wrote: > >> In case you missed the big commit recently, the Geode Native components >> has >> removed all globals.* >> >> The biggest win here is that we can more easily unit test sections of the >> code that before was nearly impossible due to reliance on initialized >> global instances of Cache, DistributedSystem, PoolManager, etc. All long >> lived instances are children of Cache and have access to their "container" >> Cache for accessing other components like PoolManager, DistributedSystem, >> etc. The refactor probably isn't perfect but it is a step in the right >> direction. Look for more unit tests to come. >> >> The next big win is that you can truly have more than a single Cache >> instance in our process space. While this isn't a common intentional use >> case, it is common in the .NET client implementation since a single >> process, AppPool, could have several AppDomains each with their own >> instance of Cache. In the old model all managed Cache instances shared the >> singleton unmanaged Cache instance. This lead to confusion around >> configuring multiple Caches in the same AppPool, think session state >> provider and application lookaside caching in IIS, and restricted >> configuration to share the same cluster and configuration. >> >> Obviously this is a HUGE breaking change. Almost all source using the C++ >> or .NET clients will need to be refactored. While many should be pretty >> obvious, look for updates coming to the examples soon to show you the >> light. >> >> This change follows the major change where we switch from the home grown >> SharedPtr/SharedBase refcounting memory management model to >> std::shared_ptr. The next major refactoring coming is aligning the public >> API with C++11 standards, like std::string, range-based for loops, etc. We >> also plan to make the API more consistent between factories, getters, >> setters, refs, pointers, etc. >> >> -Jake >> >> * Some lingering globals have been identified for removal. >> >> > -- -John john.blum10101 (skype)