private void OnDestroy()
    {
        _foveatedRenderer.OnUpdateFoveationPattern -= updateFoveationPattern;
        _foveatedRenderer.OnUpdateGazeLocation     -= updateGazeLocation;

        if (_zmqReportEndpoint != null)
        {
            try {
                _zmqReportEndpoint.Close();
                _zmqReportEndpoint.Dispose();
                _zmqReportEndpoint = null;
            }
            catch (Exception) { }
        }

        predictedMotionProvider.Close();
    }
示例#2
0
 protected override void OnStopped()
 {
     base.OnStopped();
     _pullSocket.Close();
     _pullSocket.Dispose();
     _pushSocket.Close();
     _pushSocket.Dispose();
     _netMqContext.Dispose();
 }
示例#3
0
 protected override void disconnectClose()
 {
     if (sender != null)
     {
         // TODO: check first if closed
         sender.Disconnect("tcp://" + IP + ":" + Port);
         sender.Close();
         sender.Dispose();
         sender = null;
     }
     //NetMQConfig.Cleanup();
 }
示例#4
0
        public async Task Stop()
        {
            _active = false;
            _poller.Stop();

            _poller.Remove(_nodeSocket);
            foreach (var peer in _peerSockets)
            {
                _poller.Remove(peer);
                peer.Close();
            }
            _peerSockets.Clear();
            _nodeSocket.Close();
        }
示例#5
0
        public void TearDown()
        {
            _actorService?.Stop();
            Poller?.Stop();
            PushSocket?.Close();
            PullSocket?.Close();
            Poller?.Dispose();

            PullSocket    = null;
            PushSocket    = null;
            Poller        = null;
            _actorService = null;

            Thread.Sleep(1000);
        }
示例#6
0
文件: BaseMod.cs 项目: anda12/Mars
        private void FanOutEntry(object n)
        {
            FanoutRun f;
            string    name = (string)n;

            if (FanoutRM.ContainsKey(name))
            {
                f = FanoutRM[name];
            }
            else
            {
                Logging.logger.Error("FanOutEntry get name failed " + name);
                return;
            }

            PushSocket p = new PushSocket();
            string     e = "tcp://" + f.point.ip + ":" + f.point.port;

            try
            {
                p.Bind(e);
                f.pushsock = p;
            }
            catch (Exception err)
            {
                Logging.logger.Error(ModName + " bind funin socket failed " + e + " " + err.Message);
                throw (err);
            }

            string str;

            f.Working = true;
            while (f.Running)
            {
                str = Entry4GetFanoutData(f.name);
                if (str != null)
                {
                    p.SendFrame(str);
                }
                DelayTime();
            }
            f.Working = false;
            p.Close();
            return;
        }
示例#7
0
        public void CloseSendingSockets()
        {
            Console.WriteLine("FINISHED SENDING DATA");
            var selfSocket = new PushSocket();

            selfSocket.Connect("tcp://" + RemoteServGr.NodeAddress);
            var msg = new Message
            {
                MsgType       = MessageType.EndingProgram,
                SendingServer = RemoteServGr.NodeAddress
            };
            var msgJson = JsonConvert.SerializeObject(msg);

            selfSocket.SendFrame(msgJson);

            foreach (var socket in RemoteServGr.RemoteServerSockets)
            {
                socket.Value.Close();
            }
            selfSocket.Close();
        }
 public void Stop()
 {
     pushSocket.Close();
 }
示例#9
0
 /// <summary>
 /// close socket
 /// </summary>
 public void Close()
 {
     _pusher.Close();
 }