Ignore:
Timestamp:
Sep 7, 2010, 1:19:59 PM (11 years ago)
Author:
Paul Lelgemann
Message:

o Updated peers@play libraries (including early PapsClient version)

override-bad-extension: PapsClient.dll
override-bad-extension: PapsClient.pdb

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypP2P/Internal/P2PBase.cs

    r1704 r1909  
    3434using PeersAtPlay.P2PStorage.DHT;
    3535using PeersAtPlay.P2PStorage.FullMeshDHT;
     36using PeersAtPlay.PapsClient;
    3637using PeersAtPlay.Util.Logging;
    3738using PeersAtPlay.P2POverlay.Chord;
     
    142143                    break;
    143144                default:
    144                     throw (new NotImplementedException());
     145                    throw new NotImplementedException();
    145146            }
    146147
     
    159160                    break;
    160161                default:
    161                     throw (new NotImplementedException());
    162             }
    163 
    164             switch (P2PSettings.Default.Architecture)
    165             {
    166                 case P2PArchitecture.FullMesh:
    167                     overlay = new FullMeshOverlay(scheduler);
    168                     Dht = new FullMeshDHT(scheduler);
    169                     break;
    170                 case P2PArchitecture.Chord:
    171                     overlay = new ChordNGCore(scheduler);
    172                     Dht = (IDHT) overlay;
    173                     break;
    174                 default:
    175                     throw (new NotImplementedException());
     162                    throw new NotImplementedException();
     163            }
     164
     165            try
     166            {
     167                switch (P2PSettings.Default.Architecture)
     168                {
     169                    case P2PArchitecture.FullMesh:
     170                        overlay = new FullMeshOverlay(scheduler);
     171                        Dht = new FullMeshDHT(scheduler);
     172                        break;
     173                    case P2PArchitecture.Chord:
     174                        overlay = new ChordNGCore(scheduler);
     175                        Dht = (IDHT) overlay;
     176                        break;
     177                    case P2PArchitecture.Server:
     178                        PeersAtPlay.PapsClient.Properties.Settings.Default.ServerIP = P2PSettings.Default.ServerIP;
     179                        PeersAtPlay.PapsClient.Properties.Settings.Default.ServerPort = P2PSettings.Default.ServerPort;
     180                        bootstrapper = new LocalMachineBootstrapper();
     181                        overlay = new PapsClientOverlay();
     182                        Dht = new PapsClientDht(scheduler);
     183                        break;
     184                    default:
     185                        throw new NotImplementedException();
     186                }
     187            }
     188            catch(Exception e)
     189            {
     190                P2PManager.GuiLogMessage("Error initializing P2P network: " + e.Message, NotificationLevel.Error);
     191                return;
    176192            }
    177193
     
    183199
    184200            P2PManager.GuiLogMessage("Initializing DHT with world name " + P2PSettings.Default.WorldName,
    185                                                 NotificationLevel.Info);
     201                                        NotificationLevel.Info);
     202            IsInitialized = true;
    186203            Dht.Initialize(P2PSettings.Default.PeerName, string.Empty, P2PSettings.Default.WorldName, overlay,
    187204                            bootstrapper,
    188205                            linkmanager, null);
    189 
    190             IsInitialized = true;
    191206        }
    192207
     
    213228            }
    214229
    215             Dht.BeginStart(BeginStartEventHandler);
    216 
    217             // Wait for event SystemJoined. When it's invoked, the peer completely joined the P2P system
    218             systemJoined.WaitOne();
    219             P2PManager.GuiLogMessage("System join process ended.", NotificationLevel.Debug);
     230            try
     231            {
     232                Dht.BeginStart(BeginStartEventHandler);
     233
     234                // Wait for event SystemJoined. When it's invoked, the peer completely joined the P2P system
     235                systemJoined.WaitOne();
     236                P2PManager.GuiLogMessage("System join process ended.", NotificationLevel.Debug);
     237            }
     238            catch (Exception e)
     239            {
     240                e.GetBaseException();
     241            }
    220242
    221243            return true;
     
    317339        private void OnDhtSystemJoined(object sender, EventArgs e)
    318340        {
     341            IsConnected = true;
     342
    319343            if (OnSystemJoined != null)
    320344                OnSystemJoined();
    321345
    322346            systemJoined.Set();
    323             IsConnected = true;
    324347        }
    325348
Note: See TracChangeset for help on using the changeset viewer.