removed construction backtraces, minor style and performance improvements
Bumped CPU sharding factor up to 16. Reduced segment size of segmented_vector to counteract increased memory consumption of empty tables.
Forgot to reduce size of two_level_array. That one is actually more important than the segmented_vector.
Well, 8 CPU shards seems like a safer choice for the time being.
fixing error on export of cluster with no tables
Started an attempt to reduce the cost of datum_t serialization/deserialization (partially replaced std::string for now)
Convert wire_string_t a bit less often into std::string, and added a few TODO!s
Reduced copying in cluster connectivity layer. A few TODOs still left...
Implemented message error handling. Closes #1914.
Avoid another copy pass when locally delivering messages.
A little refactoring of vector_read_stream_t
Added reserves and a tunable message read loop batch size.
directory_read_manager_t::on_message() didn't handle failed reads (e.g. due to disconnection).
Cleanup of wire_string_t
Merge branch 'next' into daniel_read_optimizations
Removed wrong comments, added an assertion.
Made exception handling in mailbox_t safer, and avoid one alloc in message handler.
Made the check for deserialization errors more explicit.
Merge branch 'daniel_cluster_msg_optimization' into next
Changed an assert into a guarantee.