Take new sharding implementation into use

The sharding implementation now uses a class to abstract the details of
the shard. This allows for different design where each session makes a
copy of the global shard map which is then used for the duration of the
session. In addition to making the desing a bit clearer to understand, it
also removes lock competition between threads.

Due to the change to C++, the main entry points need to be wrapped in the
exception-safety macros. The next step in the refactoring will be to use
the router template. This will remove the need to manually define them.
This commit is contained in:
Markus Mäkelä
2017-03-26 23:51:17 +03:00
parent 9587b2ecfc
commit d151512d20
4 changed files with 431 additions and 563 deletions

File diff suppressed because it is too large Load Diff