private void FixFlags(Message message, ServerEndPoint server) { // since the server is specified explicitly, we don't want defaults // to make the "non-preferred-endpoint" counters look artificially // inflated; note we only change *prefer* options switch (Message.GetMasterSlaveFlags(message.Flags)) { case CommandFlags.PreferMaster: if (server.IsSlave) { message.SetPreferSlave(); } break; case CommandFlags.PreferSlave: if (!server.IsSlave) { message.SetPreferMaster(); } break; } }