private void WCMessageArrived(TCP.WorkerClient sender, byte[] b, int len) { TCPEventArgs e = new TCPEventArgs(); e.RemoteClient = sender.ClientIP(); e.Data = new byte[len]; DataArrived(this, e); Array.Copy(b, 0, e.Data, 0, len); Message.Message msg = new Message.Message(b); Logger.MajorVerbose("Client: " + sender.ClientIP() + System.Environment.NewLine + "Request: " + msg.MessageData); try { Logger.MajorDebug("Parsing header and code of message " + msg.MessageData + "..."); string messageHeader = msg.GetSubstring(HeaderLength); msg.AdvanceIndex(HeaderLength); string commandCode = msg.GetSubstring(2); msg.AdvanceIndex(2); CommandCalled(this, commandCode); CommandClass CC = CE.GetLoadedCommand(commandCode); if (CC == null) { Logger.MajorError("No implementor for " + commandCode + "." + System.Environment.NewLine + "Disconnecting client."); sender.TermClient(); } else { Logger.MajorDebug("Found implementor " + CC.DeclaringType.FullName + ", instantiating..."); AHostCommand o = (AHostCommand)Activator.CreateInstance(CC.DeclaringType); o = (AHostCommand)Activator.CreateInstance(CC.DeclaringType); Message.MessageResponse retMsg; Message.MessageResponse retMsgAfterIO; try { string trailingChars = ""; if (ExpectTrailers) { trailingChars = msg.GetTrailers(); } if ((CheckLMKParity == false) || (Cryptography.LMK.LMKStorage.CheckLMKStorage())) { //Logger.MinorInfo("=== [" + commandCode + "], starts " + Utility.getTimeMMHHSSmmmm + " ======="); Logger.MajorDebug("Calling AcceptMessage()..."); o.AcceptMessage(msg); Logger.MinorVerbose(o.DumpFields()); } } catch (Exception ex) { } } } catch (Exception ex) { } }
public virtual void AcceptMessage(ThalesCore.Message.Message msg) { }
private void CWCMessageArrived(WorkerClient sender, byte[] b, int len) { Message.Message msg = new Message.Message(b); try { if (curMsg == null) { Logger.MajorVerbose("Client: " + sender.ClientIP() + System.Environment.NewLine + "Request: " + msg.MessageData); Logger.MajorDebug("Searching for implementor of " + msg.MessageData + "..."); ConsoleCommands.ConsoleCommandClass CC = CCE.GetLoadedCommand(msg.MessageData); if (CC == null) { Logger.MajorError("No implementor for " + msg.MessageData + "."); sender.send("Command not found" + System.Environment.NewLine); } curMsg = (ConsoleCommands.AConsoleCommand)Activator.CreateInstance(CC.CommandType); curMsg.InitializeStack(); } else { string returnMsg = null; try { returnMsg = curMsg.AcceptMessage(msg.MessageData); } catch (Exception ex) { returnMsg = ex.Message; } if ((returnMsg != null) && (curMsg.CommandFinished)) { sender.send(returnMsg + System.Environment.NewLine); curMsg = null; } else { sender.send(curMsg.GetClientMessage()); } return; } if (curMsg.IsNoinputCommand()) { try { sender.send(curMsg.ProcessMessage() + System.Environment.NewLine); } catch (Exception ex) { sender.send(ex.Message); } } } catch (Exception ex) { Logger.MajorError("Exception while parsing message or creating implementor instance" + System.Environment.NewLine + ex.ToString()); Logger.MajorError("Disconnecting client."); sender.TermClient(); curMsg = null; } }