Beispiel #1
0
        static void Main(string[] args)
        {
            SR.ServiceRepoClient      client  = new SR.ServiceRepoClient();
            SR_Core.ServiceCoreClient client1 = new SR_Core.ServiceCoreClient();

            foreach (var item in client.QueryAvailableResources())
            {
                Console.WriteLine("Data: " + item.ToString());
            }

            Console.WriteLine();


            foreach (var item in client1.GetAvailableRepos())
            {
                Console.WriteLine("Data: " + item.ToString());
            }


            MqHandler <XData> mq = new MqHandler <XData>("SycoMq");

            mq.

            Console.ReadLine();
        }
Beispiel #2
0
        private void StartMqReading()
        {
            MqHandler <CoreMessage> mq = new MqHandler <CoreMessage>(@".\private$\adapter2core");

            while (true)
            {
                informer(mq.Receive());
            }
        }
Beispiel #3
0
        private void StartMqReading()
        {
            //Instance of our MQ
            MqHandler <Person> mq = new MqHandler <Person>(@".\private$\SycoMq");

            while (true)
            {
                //Write to our DB
                repositoryA.AddPerson(mq.Receive());
            }
        }
        public AgentAdapterHandler()
        {
            //service for connection to core components
            client = new MessageTransmissionServiceClient("TcpMessageTransmissionService"); //select TCP Service connection
            client.TransmitMessageCompleted += client_TransmitMessageCompleted;             //async call

            //Coding Dojo 3
            mq = new MqHandler <CoreMessage>(@".\private$\adapter2core");

            //Provide Services for Agents
            MessageInformer inf = new MessageInformer(NewMessageReceived);
            ServiceManager  sm  = new ServiceManager(inf);

            sm.Start();
        }
Beispiel #5
0
        public MqClient(string address) : base(address)
        {
            this.heartbeatMessage = new Message();
            this.heartbeatMessage.Headers[Protocol.CMD] = Protocol.PING;

            OnMessage += async(msg) => {
                string mq      = (string)msg.Headers[Protocol.MQ];
                string channel = (string)msg.Headers[Protocol.CHANNEL];
                if (mq == null || channel == null)
                {
                    logger.Warn("Missing mq or channel in response: " + JsonKit.SerializeObject(msg));
                    return;
                }
                MqHandler mqHandler = null;
                foreach (var e in this.handlers)
                {
                    if (e.Mq == mq && e.Channel == channel)
                    {
                        mqHandler = e;
                        break;
                    }
                }
                if (mqHandler == null)
                {
                    logger.Warn(string.Format("Missing handler for mq={}, channel={}", mq, channel));
                    return;
                }
                mqHandler.Handler(msg);

                string windowStr = (string)msg.Headers[Protocol.WINDOW];
                int?   window    = null;
                if (windowStr != null)
                {
                    window = int.Parse(windowStr);
                }
                if (window != null && window <= mqHandler.Window / 2)
                {
                    var sub = new Message();
                    sub.Headers[Protocol.CMD]     = Protocol.SUB;
                    sub.Headers[Protocol.MQ]      = mq;
                    sub.Headers[Protocol.CHANNEL] = channel;
                    sub.Headers[Protocol.ACK]     = false;
                    sub.Headers[Protocol.WINDOW]  = mqHandler.Window.ToString();

                    await this.SendAsync(sub);
                }
            };
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            MqHandler <XData> mq = new MqHandler <XData>("SycoMq");

            SR_Core.ServiceCoreClient client = new SR_Core.ServiceCoreClient();
            //CoreDataHandler dh = new CoreDataHandler();



            while (true)
            {
                var temp = mq.Receive();
                client.AddDataToRepo(temp.Target, temp);
                //dh.AddDataToRepo(temp.Target, temp);
                Console.WriteLine("Added: " + temp.ToString());
            }
        }
Beispiel #7
0
        public void AddMqHandler(string mq, string channel, Action <Message> handler, int window = 1)
        {
            foreach (var e in this.handlers)
            {
                if (e.Mq == mq && e.Channel == channel)
                {
                    e.Handler = handler;
                    e.Window  = window;
                    return;
                }
            }

            var mqHandler = new MqHandler
            {
                Mq      = mq,
                Channel = channel,
                Window  = window,
                Handler = handler
            };

            this.handlers.Add(mqHandler);
        }
Beispiel #8
0
 public HeartbeatJob()
 {
     instanceName = ConfigurationManager.AppSettings["InstanceName"];
     mqPath       = ConfigurationManager.AppSettings["SendMqPath"];
     mqHandler    = new MqHandler(mqPath);
 }
Beispiel #9
0
 public HeartbeatReceiveJob()
 {
     mqPath    = ConfigurationManager.AppSettings["ReceiveMqPath"];
     mqHandler = new MqHandler(mqPath);
 }