Пример #1
0
        protected MessageTransceiver(ModuleGlobalInfo globalInfo, ReceiveType receiveType)
        {
            this.GlobalInfo = globalInfo;
            // 创建上行队列
            FormatterType   formatterType = GlobalInfo.ConfigData.GetProperty <FormatterType>("EngineQueueFormat");
            MessengerOption receiveOption = new MessengerOption(CoreConstants.UpLinkMQName, GetMessageType)
            {
                Type        = MessengerType.MSMQ,
                HostAddress = Constants.LocalHostAddr,
                ReceiveType = receiveType,
                Formatter   = formatterType
            };

            UpLinkMessenger = Messenger.GetMessenger(receiveOption);
            this._consumers = new Dictionary <string, IMessageHandler>(Constants.DefaultRuntimeSize);
            // 创建下行队列
            MessengerOption sendOption = new MessengerOption(CoreConstants.DownLinkMQName, GetMessageType)
            {
                Type        = MessengerType.MSMQ,
                HostAddress = Constants.LocalHostAddr,
                ReceiveType = receiveType,
                Formatter   = formatterType
            };

            DownLinkMessenger   = Messenger.GetMessenger(sendOption);
            this._operationLock = new SpinLock();

            this.ZombieCleaner = new ZombieMessageCleaner(DownLinkMessenger, globalInfo);
        }
Пример #2
0
        public MessageTransceiver(SlaveContext contextManager, int session)
        {
            this._slaveContext = contextManager;

            // 创建上行队列
            _formatterType = contextManager.GetProperty <FormatterType>("EngineQueueFormat");
            MessengerOption receiveOption = new MessengerOption(CoreConstants.UpLinkMQName, typeof(ControlMessage),
                                                                typeof(DebugMessage), typeof(RmtGenMessage), typeof(StatusMessage), typeof(TestGenMessage))
            {
                Type = contextManager.GetProperty <MessengerType>("MessengerType")
            };

            _uplinkMessenger = Messenger.GetMessenger(receiveOption);
            // 创建下行队列
            MessengerOption sendOption = new MessengerOption(CoreConstants.DownLinkMQName, typeof(ControlMessage),
                                                             typeof(DebugMessage), typeof(RmtGenMessage), typeof(StatusMessage), typeof(TestGenMessage))
            {
                Type = contextManager.GetProperty <MessengerType>("MessengerType")
            };

            _downLinkMessenger = Messenger.GetMessenger(sendOption);

            _messageQueue  = new LocalMessageQueue <MessageBase>(CoreConstants.DefaultEventsQueueSize);
            this.SessionId = session;
        }
Пример #3
0
        public MessageTransceiver(SlaveContext contextManager, int session)
        {
            this._slaveContext = contextManager;

            // 创建上行队列
            FormatterType   formatterType = contextManager.GetProperty <FormatterType>("EngineQueueFormat");
            MessengerOption receiveOption = new MessengerOption(CoreConstants.UpLinkMQName, GetMessageType)
            {
                Type        = contextManager.GetProperty <MessengerType>("MessengerType"),
                Formatter   = formatterType,
                ReceiveType = ReceiveType.Synchronous
            };

            _uplinkMessenger = Messenger.GetMessenger(receiveOption);
            // 创建下行队列
            MessengerOption sendOption = new MessengerOption(CoreConstants.DownLinkMQName, GetMessageType)
            {
                Type        = contextManager.GetProperty <MessengerType>("MessengerType"),
                Formatter   = formatterType,
                ReceiveType = ReceiveType.Synchronous
            };

            _downLinkMessenger = Messenger.GetMessenger(sendOption);

            _messageQueue  = new LocalMessageQueue <MessageBase>(CoreConstants.DefaultEventsQueueSize);
            this.SessionId = session;
        }
Пример #4
0
 public void SetUp()
 {
     _option = new MessengerOption(MsgQueueName, GetMessageType)
     {
         ReceiveType = ReceiveType.Synchronous
     };
     _messenger = Messenger.GetMessenger(_option);
 }
Пример #5
0
        private RemoteLoggerSession(int sessionId, LogLevel logLevel, FormatterType formatter)
        {
            _logLevel        = logLevel;
            this.SessionId   = sessionId;
            _formatter       = formatter;
            this._targetType = new Type[] { typeof(LogMessage) };
            MessengerOption messengerOption = new MessengerOption(Constants.LogQueueName);

            _messenger = Messenger.GetMessenger(messengerOption);
        }
Пример #6
0
 public void SetUp()
 {
     _option    = new MessengerOption(MsgQueueName, new Type[] { typeof(TestMessage) });
     _messenger = Messenger.GetMessenger(_option);
     IMessageConsumer[] consumers = new IMessageConsumer[MaxSession];
     for (int i = 0; i < MaxSession; i++)
     {
         consumers[i] = new TestConsumer(i);
     }
     _messenger.RegisterConsumer(consumers);
 }
Пример #7
0
        void IController.RuntimeInitialize()
        {
            this._platformLogSession = new PlatformLogSession(-1);
            MessengerOption option = new MessengerOption(Constants.LogQueueName, typeof(LogMessage));

            _messenger = Messenger.GetMessenger(option);
            InitializeRuntimeSession();
            _messenger.RegisterConsumer(_runtimeLogSessions.Values.ToArray());
            foreach (LocalLogSession logSession in _runtimeLogSessions.Values)
            {
                logSession.Dispose();
            }
            _runtimeLogSessions.Clear();
        }
Пример #8
0
 public MsmqMessenger(MessengerOption option) : base(option)
 {
 }