//------------------------------------------------------------------------------------------------------------------------ #endregion #region Functions //------------------------------------------------------------------------------------------------------------------------ public void Initialize() { lock (this) { //deinit if already initialized if (_IsInitialized) { Deinitialize(); } try { //update message Node.NodeKey.GetBytes(DiscoveryMessage.NodeKey, 0); DiscoveryMessage.YPChannelPort = YPCPort; Discoverer.UpdateDiscoveryMessage(DiscoveryMessage); //init discoverer Discoverer.Initialize(true, YPCPort != 0); //start ypserver if (YPCPort != 0) { var mode = YPChannel.ChannelSerializationMode.Json; _YPServer = new YPChannel.Transport.Sockets.Server(Protocol, SupportedChannelSerializationModes: mode, PreferredChannelSerializationModes: mode); _YPServer.OnNewChannel += _YPServer_OnNewChannel; _YPServer.Start(YPCPort); } //mark _IsInitialized = true; } catch (Exception ex) { Deinitialize(); DebugEx.Assert(ex); } } }
//------------------------------------------------------------------------------------------------------------------------ #endregion #region Functions //------------------------------------------------------------------------------------------------------------------------ public void Initialize() { lock (this) { //deinit if already initialized if (_IsInitialized) Deinitialize(); try { //update message Node.NodeKey.GetBytes(DiscoveryMessage.NodeKey, 0); DiscoveryMessage.YPChannelPort = YPCPort; Discoverer.UpdateDiscoveryMessage(DiscoveryMessage); //init discoverer Discoverer.Initialize(true, YPCPort != 0); //start ypserver if (YPCPort != 0) { var mode = YPChannel.ChannelSerializationMode.Json; _YPServer = new YPChannel.Transport.Sockets.Server(Protocol, SupportedChannelSerializationModes: mode, PreferredChannelSerializationModes: mode); _YPServer.OnNewChannel += _YPServer_OnNewChannel; _YPServer.Start(YPCPort); } //mark _IsInitialized = true; } catch (Exception ex) { Deinitialize(); DebugEx.Assert(ex); } } }