/// <summary> /// Stops CAST communication channels. /// </summary> public void Stop() { // Stop heartbeat if (_timer != null) { _timer.Stop(); } HeartbeatListener.Stop(); SendHeartbeatNowListener.Stop(); ClientListener.Stop(); }
/// <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); } }