private void AddListener(uint cmd, Type TRsp, Delegate onRsp, uint index, float timeout, Action <int> onErr) { ListenerHelper helper = new ListenerHelper() { cmd = cmd, index = index, TMsg = TRsp, onErr = onErr, onMsg = onRsp, timeout = timeout, timestamp = SGFTime.GetTimeSinceStartup() }; m_listRspListener.Add(index, helper); }
public void AddListener <TMsg>(uint cmd, Action <ISession, uint, TMsg> onMsg) { ListenerHelper helper = new ListenerHelper() { typeMsg = typeof(TMsg), handleMsg = onMsg }; helper.handleMsg = onMsg; if (listenerHelpers.ContainsKey(cmd)) { listenerHelpers.Remove(cmd); } listenerHelpers.Add(cmd, helper); }
public override void Dump() { m_gateway.Dump(); StringBuilder sb = new StringBuilder(); foreach (var pair in m_listMsgListener) { ListenerHelper helper = pair.Value; sb.AppendFormat("\t<cmd:{0}, msg:{1}, \tlistener:{2}.{3}>\n", pair.Key, helper.TMsg.Name, helper.onMsg.Method.DeclaringType.Name, helper.onMsg.Method.Name); } Debuger.LogWarning("\nNet Listeners ({0}):\n{1}", m_listMsgListener.Count, sb); base.Dump(); }
public void Dump() { gateWay.Dump(); StringBuilder sb = new StringBuilder(); foreach (var pair in listenerHelpers) { ListenerHelper helper = pair.Value; if (helper.handleMsg.Method.DeclaringType != null) { sb.AppendFormat("\t<cmd:{0}, msg:{1}, \tlistener:{2}.{3}>\n", pair.Key, helper.typeMsg.Name, helper.handleMsg.Method.DeclaringType.Name, helper.handleMsg.Method.Name); } } Debuger.LogWarning("\nNet Listeners ({0}):\n{1}", listenerHelpers.Count, sb); rpcManager.Dump(); }
private void RegisterMessageListeners() { LoggingHelper.RegisterMessaging(PosApplication, this, fileTraceSwitch.Level, dbTraceSwitch.Level); MessagingService.RegisterListener <ApplicationShutdownMessage>(this, (message) => { try { MessagingService.SendLogMessage("Pos application closed.", CloudRetailerTraceLevel.Info); this.Shutdown(message.ExitCode); } catch (Exception) { } try { Environment.Exit(message.ExitCode); } catch (Exception) { } }); this.MessagingService.RegisterListener <NotificationMessage>(this, (message) => { Ensure.NotNull(message, () => message); var listener = new ListenerHelper(MessagingService, ViewModelService); listener.RegisterNotification(message); }); this.MessagingService.RegisterListener <UserInputMessage>(this, (message) => { Ensure.NotNull(message, () => message); var listener = new ListenerHelper(MessagingService, ViewModelService); listener.RegisterUserInput(message); }); }