add some comments

This commit is contained in:
Hylke Bons 2011-07-23 15:27:07 +01:00
parent 943dfcc767
commit 6e4ace9643
2 changed files with 29 additions and 15 deletions

View file

@ -52,24 +52,30 @@ namespace SparkleLib {
announce_uri = "irc://204.62.14.135/"; announce_uri = "irc://204.62.14.135/";
} }
// We use only one listener per server to keep
// the number of connections as low as possible
foreach (SparkleListenerBase listener in listeners) { foreach (SparkleListenerBase listener in listeners) {
if (listener.Server.Equals (announce_uri)) { if (listener.Server.Equals (announce_uri)) {
SparkleHelpers.DebugInfo ("ListenerFactory", "Refered to existing listener for " + announce_uri); SparkleHelpers.DebugInfo ("ListenerFactory",
"Refered to existing listener for " + announce_uri);
listener.AlsoListenTo (folder_identifier); listener.AlsoListenTo (folder_identifier);
return (SparkleListenerBase) listener; return (SparkleListenerBase) listener;
} }
} }
Uri listen_on = new Uri (announce_uri); // Create a new listener with the appropriate
// type if one doesn't exist yet for that server
switch (listen_on.Scheme) { switch (announce_uri.Scheme) {
case "tcp": case "tcp":
listeners.Add (new SparkleListenerTcp (listen_on, folder_identifier)); listeners.Add (new SparkleListenerTcp (announce_uri, folder_identifier));
break; break;
case "irc": case "irc":
default: listeners.Add (new SparkleListenerIrc (announce_uri, folder_identifier));
listeners.Add (new SparkleListenerIrc (listen_on, folder_identifier)); break;
break; default:
listeners.Add (new SparkleListenerIrc (announce_uri, folder_identifier));
break;
} }
SparkleHelpers.DebugInfo ("ListenerFactory", "Issued new listener for " + announce_uri); SparkleHelpers.DebugInfo ("ListenerFactory", "Issued new listener for " + announce_uri);
@ -109,20 +115,25 @@ namespace SparkleLib {
protected Uri server; protected Uri server;
protected Timer reconnect_timer = new Timer { Interval = 60 * 1000, Enabled = true }; protected Timer reconnect_timer = new Timer { Interval = 60 * 1000, Enabled = true };
public SparkleListenerBase (Uri server, string folder_identifier) { public SparkleListenerBase (Uri server, string folder_identifier)
{
this.server = server;
this.reconnect_timer.Elapsed += delegate { this.reconnect_timer.Elapsed += delegate {
if (!IsConnected && !this.is_connecting) if (!IsConnected && !this.is_connecting)
Reconnect (); Reconnect ();
}; };
this.server = server;
this.reconnect_timer.Start (); this.reconnect_timer.Start ();
} }
public void AnnounceBase (SparkleAnnouncement announcement) { public void AnnounceBase (SparkleAnnouncement announcement)
{
if (IsConnected) { if (IsConnected) {
SparkleHelpers.DebugInfo ("Listener", "Announcing to " + announcement.FolderIdentifier + " on " + this.server); SparkleHelpers.DebugInfo ("Listener",
"Announcing to " + announcement.FolderIdentifier + " on " + this.server);
Announce (announcement); Announce (announcement);
} else { } else {
@ -161,6 +172,7 @@ namespace SparkleLib {
if (this.queue_up.Count > 0) { if (this.queue_up.Count > 0) {
SparkleHelpers.DebugInfo ("Listener", "Delivering queued messages..."); SparkleHelpers.DebugInfo ("Listener", "Delivering queued messages...");
foreach (SparkleAnnouncement announcement in this.queue_up) { foreach (SparkleAnnouncement announcement in this.queue_up) {
AnnounceBase (announcement); AnnounceBase (announcement);
this.queue_up.Remove (announcement); this.queue_up.Remove (announcement);

View file

@ -71,6 +71,8 @@ namespace SparkleShare {
SparkleShare.Controller.OnSyncing += delegate { SparkleShare.Controller.OnSyncing += delegate {
CurrentState = IconState.Syncing; CurrentState = IconState.Syncing;
// TODO up down both
if (UpdateMenuEvent != null) if (UpdateMenuEvent != null)
UpdateMenuEvent (IconState.Syncing); UpdateMenuEvent (IconState.Syncing);
}; };