Пример #1
0
        /// <summary>
        /// Stops CAST communication channels.
        /// </summary>
        public void Stop()
        {
            // Stop heartbeat
            if (_timer != null)
            {
                _timer.Stop();
            }

            HeartbeatListener.Stop();
            SendHeartbeatNowListener.Stop();

            ClientListener.Stop();
        }
Пример #2
0
        /// <summary>
        /// Starts CAST communication channels.
        /// </summary>
        public void Start()
        {
            if (CastService.GetIsCastConfigured())
            {
                EventLog.Application.WriteWarning("CAST communications are starting.");

                // Server specific
                if (CastService.GetIsCastServer())
                {
                    HeartbeatListener.Receive <RemotePlatformInfo>(SpecialStrings.CastHeartbeatKey, HandleHeartbeat, false);
                }

                SendHeartbeatNowListener.Subscribe <string>(SpecialStrings.CastHeartbeatDemandKey, SendHeartbeatNow);
                StartHeartbeat();

                ClientListener.Respond <CastRequest, CastResponse>(CastService.GetClientCommunicationKey(), HandleRequest);
            }
        }