Refs #848:initial implementation
Refs #848:fix code according to review.
Refs #11: move common code of uuid to galerautils
Refs #10: fix to pass compile. forget to build before commit
Refs #10: handle inconsistent restored views.
put restored view into state message. bootstrap only if membership equals and restored viewid seqno is the highest among all nodes restored viewid seqnos
Refs #15: measure message replication latency in evs input_map
Refs #15: add interface to expose gcomm stats to gcs
1. since evs_proto already measure replication message in validate_reg_msg, remove previous commit
2. put gcomm stats into NULL-terminated array. for simplicity, all stats are string.
3. rewrite galera stats_get returned buffer, to support variable stats vars
Refs #10: wsrep_new_cluster option takes precedence
Refs #29: assign the right segment id to first node who initiates primary component
Refs #31: bind listen address IP when connect
avoid using wrong IP when there are multiple IPs on one node
Refs #31: change variable name
Merge branch 'msg-repl-latency' into yan
Merge branch 'uuid-refactor' into yan
Refs #10: just consider properties of nodes in restored view.
Refs #32: incorrect adjust of start time in gcs_fc
Merge branch 'yan' of github.com:codership/galera into yan
Refs #15: refactor of exposing gcomm stats
1. add gcs_backend_stats in gcs.h to store stats of gcomm and passed to galera.
2. use std::map to store gcomm stats of each layer.
3. append gcs_stat pointer at the end of wsrep_stats_var arrays, and change stats_free in replicator_smm.hpp to non-static member function.
(so allocation and deallocation could be in same compile unit)
4. optimize memory allocation by using a single buffer to store gcomm stats values. and gcomm stats keys are static strings.
Refs #11: correct copyright year
Refs #11: define gu::BaseUUID in gu module and derive gcomm::UUID from it.
the reason why I define gu::BaseUUID instead of gu::UUID is because almost all files in gcomm import namespace gu and gcomm both. so UUID is ambiguous.
so to make compilation pass needs to change UUID to gcomm::UUID for all these files, which takes too much efforts.
Refs #11: back to use gu::UUID, and refers to UUID by adding prefix gcomm::