示例#1
0
        //------------------------------------------------------------------------------------------------------------------------
        #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);
                }
            }
        }
示例#2
0
        //------------------------------------------------------------------------------------------------------------------------
        #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);
                }
            }
        }