private bool _disposedValue = false; // Для определения избыточных вызовов #endregion Fields #region Constructors public FanBrocker(NetMQContext context, string ventAddress, string sinkAddress, int workersCnt) { _logger.Trace("Brocker created"); _ventAddress = ventAddress; _sinkAddress = sinkAddress; _sinkSocket = context.CreatePullSocket(); _sinkSocket.Options.ReceiveBuffer = 1; _sinkSocket.Bind(sinkAddress); _ventSocket = context.CreatePushSocket(); _ventSocket.Options.SendBuffer = 1; _ventSocket.Bind(ventAddress); Task.Run(() => { try { while (true) { var ba = _sinkSocket.ReceiveFrameString(); _logger.Trace("Brocker received data {0}", ba); var data = JsonConvert.DeserializeObject<ProcessedEventArgs>(ba); OnFramesProcessed(data); } } catch (Exception) { _logger.Error("EXCEPTION"); } }); }
public NetMQWorker(int id, string pushAddress, string pullAddress, NetMQContext context) : base(id) { _pullSocket = context.CreatePullSocket(); _pushSocket = context.CreatePushSocket(); _pushSocket.Connect(pushAddress); _pullSocket.Bind(pullAddress+id); }
public Scheduler () { Context = NetMQContext.Create (); ReceiverSocket = Context.CreatePullSocket (); ReceiverSocket.Bind ("tcp://0.0.0.0:10000"); new Thread (this.catchAck).Start (); logger.Info ("Scheduler started"); }
public void Start(int listenPort) { ctx = NetMQContext.Create(); responseSocket = ctx.CreatePullSocket(); responseSocket.Bind("tcp://*:" + listenPort); isRunning = true; listenThread = new Thread(ListenForMessages); listenThread.Name = "ClientMessageListenThread"; listenThread.Start(); logger.Info("Client message puller has started listening on port " + listenPort); }
public TestReciever Start() { _context = NetMQContext.Create(); _socket = _context.CreatePullSocket(); _socket.Connect(_publisherAddress); Task.Run(() => { Recieve(); }); return this; }
public NetMQScheduler(NetMQContext context, Poller poller = null) { m_context = context; if (poller == null) { m_ownPoller = true; m_poller = new Poller(); } else { m_ownPoller = false; m_poller = poller; } m_clientSockets = new ConcurrentBag <NetMQSocket>(); m_schedulerId = Interlocked.Increment(ref s_schedulerCounter); m_address = string.Format("{0}://scheduler-{1}", NetMQ.zmq.Address.InProcProtocol, m_schedulerId); m_serverSocket = context.CreatePullSocket(); m_serverSocket.Options.Linger = TimeSpan.Zero; m_serverSocket.Bind(m_address); m_currentMessageHandler = OnMessageFirstTime; m_serverSocket.ReceiveReady += m_currentMessageHandler; m_poller.AddSocket(m_serverSocket); m_clientSocket = new ThreadLocal <NetMQSocket>(() => { var socket = m_context.CreatePushSocket(); socket.Connect(m_address); m_clientSockets.Add(socket); return(socket); }); m_schedulerThread = new ThreadLocal <bool>(() => false); if (m_ownPoller) { Task.Factory.StartNew(m_poller.Start, TaskCreationOptions.LongRunning); } }
public NetMQScheduler(NetMQContext context, Poller poller = null) { m_context = context; if (poller == null) { m_ownPoller = true; m_poller = new Poller(); } else { m_ownPoller = false; m_poller = poller; } m_clientSockets = new ConcurrentBag<NetMQSocket>(); m_schedulerId = Interlocked.Increment(ref s_schedulerCounter); m_address = string.Format("{0}://scheduler-{1}", NetMQ.zmq.Address.InProcProtocol, m_schedulerId); m_serverSocket = context.CreatePullSocket(); m_serverSocket.Options.Linger = TimeSpan.Zero; m_serverSocket.Bind(m_address); m_currentMessageHandler = OnMessageFirstTime; m_serverSocket.ReceiveReady += m_currentMessageHandler; m_poller.AddSocket(m_serverSocket); m_clientSocket = new ThreadLocal<NetMQSocket>(() => { var socket = m_context.CreatePushSocket(); socket.Connect(m_address); m_clientSockets.Add(socket); return socket; }); m_schedulerThread = new ThreadLocal<bool>(() => false); if (m_ownPoller) { Task.Factory.StartNew(m_poller.Start, TaskCreationOptions.LongRunning); } }
private bool _disposedValue = false; // Для определения избыточных вызовов #endregion Fields #region Constructors public NetMQBrocker(NetMQContext context, string pushAddress, string pullAddress, int workersCnt) { _logger.Trace("Brocker created"); _pushAddress = pushAddress; _pullAddress = pullAddress; //_pushSocket.Bind(pushAddress); _pullSocket = context.CreatePullSocket(); _pullSocket.Bind(pullAddress); _pushSocket = context.CreatePushSocket(); Task.Run(() => { try { while (true) { var ba = _pullSocket.ReceiveFrameBytes(); if (ba != null) { using (var ms = new MemoryStream()) { ms.Write(ba, 0, ba.Length); ms.Position = 0; var data = (ProcessedEventArgs)_formatter.Deserialize(ms); _logger.Trace("Brocker received result queue {0}", data.QueueId); OnFramesProcessed(data); } } else { _logger.Trace("Brocker not received"); Thread.Sleep(200); } } } catch (Exception) { _logger.Error("EXCEPTION"); } }); }
public NetMQScheduler(NetMQContext context, Poller poller = null) { m_context = context; if (poller == null) { m_ownPoller = true; m_poller = new Poller(); } else { m_ownPoller = false; m_poller = poller; } m_tasksQueue = new ConcurrentQueue <Task>(); m_syncObject = new object(); m_schedulerId = Interlocked.Increment(ref s_schedulerCounter); m_address = string.Format("{0}://scheduler-{1}", NetMQ.zmq.Address.InProcProtocol, m_schedulerId); m_serverSocket = context.CreatePullSocket(); m_serverSocket.Options.Linger = TimeSpan.Zero; m_serverSocket.Bind(m_address); m_currentMessageHandler = OnMessageFirstTime; m_serverSocket.ReceiveReady += m_currentMessageHandler; m_poller.AddSocket(m_serverSocket); m_clientSocket = m_context.CreatePushSocket(); m_clientSocket.Connect(m_address); m_schedulerThread = new ThreadLocal <bool>(() => false); if (m_ownPoller) { m_poller.PollTillCancelledNonBlocking(); } }
public NetMQScheduler([NotNull] NetMQContext context, [CanBeNull] Poller poller = null) : this(poller, context.CreatePushSocket(), context.CreatePullSocket()) { }
private void Connect() { _context = NetMQContext.Create(); _socket = _context.CreatePullSocket(); _socket.Connect(_publisherAddress); }
public NetMQScheduler(NetMQContext context, Poller poller = null) : this(poller, context.CreatePushSocket(), context.CreatePullSocket()) { }
public NetMQScheduler( NetMQContext context, Poller poller = null) : this(poller, context.CreatePushSocket(), context.CreatePullSocket()) { }