~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/default_replicator/default_replicator.cc

  • Committer: Brian Aker
  • Date: 2009-09-21 23:40:18 UTC
  • mfrom: (1039.5.63 replication)
  • Revision ID: brian@gaz-20090921234018-gd9kqdyigwxtik9z
Merge Jay

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
 *
24
24
 * Defines the implementation of the default replicator.
25
25
 *
26
 
 * @see drizzled/plugin/replicator.h
27
 
 * @see drizzled/plugin/applier.h
 
26
 * @see drizzled/plugin/command_replicator.h
 
27
 * @see drizzled/plugin/command_applier.h
28
28
 *
29
29
 * @details
30
30
 *
47
47
#include <string>
48
48
 
49
49
using namespace std;
 
50
using namespace drizzled;
50
51
 
51
52
static bool sysvar_default_replicator_enable= false;
52
53
 
55
56
  return sysvar_default_replicator_enable;
56
57
}
57
58
 
58
 
void DefaultReplicator::replicate(drizzled::plugin::Applier *in_applier, drizzled::message::Command *to_replicate)
 
59
void DefaultReplicator::replicate(plugin::CommandApplier *in_applier, message::Command &to_replicate)
59
60
{
60
61
  /* 
61
62
   * We do absolutely nothing but call the applier's apply() method, passing
62
63
   * along the supplied Command.  Yep, told you it was simple...
 
64
   *
 
65
   * Perfectly fine to use const_cast<> below.  All that does is allow the replicator
 
66
   * to conform to the CommandApplier::apply() API call which dictates that the applier
 
67
   * shall never modify the supplied Command message argument.  Since the replicator 
 
68
   * itself *can* modify the supplied Command message, we use const_cast<> here to
 
69
   * set the message to a readonly state that the compiler will like.
63
70
   */
64
 
  in_applier->apply(to_replicate);
 
71
  in_applier->apply(const_cast<const message::Command&>(to_replicate));
65
72
}
66
73
 
67
74
static DefaultReplicator *default_replicator= NULL; /* The singleton replicator */