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); }
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; }
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; }
public void SetUp() { _option = new MessengerOption(MsgQueueName, GetMessageType) { ReceiveType = ReceiveType.Synchronous }; _messenger = Messenger.GetMessenger(_option); }
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); }
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); }
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(); }
public MsmqMessenger(MessengerOption option) : base(option) { }