banshee r3323 - in trunk/musicbrainz-sharp/src/MusicBrainz: . MusicBrainz



Author: scottp
Date: Mon Feb 25 17:23:32 2008
New Revision: 3323
URL: http://svn.gnome.org/viewvc/banshee?rev=3323&view=rev

Log:
* src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs: Improved a params
  method performance. Used TimeSpan and DateTime operators.
* src/MusicBrainz/MusicBrainz/Release.cs: Improved a params method
  performance.

Modified:
   trunk/musicbrainz-sharp/src/MusicBrainz/ChangeLog
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/MusicBrainzObject.cs	Mon Feb 25 17:23:32 2008
@@ -57,23 +57,38 @@
             HandleCreateInc (builder);
             return builder.ToString ();
         }
+        
+        static string [] rels_params = new string [] {
+            "artist-rels",
+            "release-rels",
+            "track-rels",
+            "label-rels",
+            "url-rels"
+        };
 
         protected virtual void HandleCreateInc (StringBuilder builder)
         {
             if (!all_rels_loaded)
-                AppendIncParameters (builder,
-                    "artist-rels",
-                    "release-rels",
-                    "track-rels",
-                    "label-rels",
-                    "url-rels");
+                AppendIncParameters (builder, rels_params);
+        }
+        
+        protected void AppendIncParameters (StringBuilder builder, string parameter)
+        {
+            builder.Append (builder.Length == 0 ? "&inc=" : "+");
+            builder.Append (parameter);
+        }
+        
+        protected void AppendIncParameters (StringBuilder builder, string parameter1, string parameter2)
+        {
+            builder.Append (builder.Length == 0 ? "&inc=" : "+");
+            builder.Append (parameter1);
+            builder.Append (parameter2);
         }
 
-        protected void AppendIncParameters (StringBuilder builder, params string [] parameters)
+        protected void AppendIncParameters (StringBuilder builder, string [] parameters)
         {
             foreach (string parameter in parameters) {
-                builder.Append (builder.Length == 0 ? "&inc=" : "+");
-                builder.Append (parameter);
+                AppendIncParameters (builder, parameter);
             }
         }
 
@@ -303,9 +318,9 @@
             Monitor.Enter (server_mutex);
 
             // Don't access the MB server twice within a second
-            TimeSpan time = DateTime.Now.Subtract (last_accessed);
-            if(min_interval.CompareTo (time) > 0)
-                Thread.Sleep (min_interval.Subtract (time).Milliseconds);
+            TimeSpan time = DateTime.Now - last_accessed;
+            if (min_interval > time)
+                Thread.Sleep ((min_interval - time).Milliseconds);
 
             HttpWebRequest request = WebRequest.Create (url) as HttpWebRequest;
             bool cache_implemented = false;

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs	Mon Feb 25 17:23:32 2008
@@ -140,7 +140,7 @@
         internal Release (XmlReader reader) : base(reader, false)
         {
         }
-
+        
         protected override void HandleCreateInc (StringBuilder builder)
         {
             AppendIncParameters (builder, "release-events", "labels");



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]