public bool ProcessCommand(object sender, PacketDataEventArgs args) { var session = sender as PacketSession; // exit if session is not correctly initialized if (session == null || session.Server == null) return false; // exit if no automatic response is requested if (!session.Server.IsAutomaticResponse) return false; // process registered handlers Packet requestPacket = args.PacketData; if (requestPacket == null) throw new ArgumentNullException("requestPacket"); if (requestPacket.SequenceId != null && requestPacket.Words.Count > 0) { var currentCommand = requestPacket.Words[0]; if (CommandReveiverAccess.ContainsKey(currentCommand.ToLower())) { var commandReceiver = CommandReveiverAccess[currentCommand.ToLower()]; var responsePacket = new Packet(requestPacket.Origin, true, requestPacket.SequenceId.Value, new List<string>()); if (commandReceiver.OnCreatingResponse(session, requestPacket, responsePacket)) { session.SendToClient(responsePacket); return true; } } return false; } return false; }
private void UcPacketBuilderPacketCreated(object sender, PacketDataEventArgs e) { var selectedSession = this.dbsSessions.Current as SessionViewModel; if (selectedSession != null) { selectedSession.PacketSession.SendToClient(e.PacketData); } }
private void SerialMonitor_PacketReceived(object sender, PacketDataEventArgs packet) { if (ControllerStateChanged != null) { ControllerStateEventArgs state = _packetParser(packet.GetPacket()); if (state != null) { ControllerStateChanged(this, state); } } }
private void udpSocket_PacketDataReceived(object sender, PacketDataEventArgs e) { HandlePacket(e.GetBuffer()); if (timeoutTimer != null) { // Reset timer. timeoutTimer.Stop(); timeoutTimer.Start(); } }
private void SerialMonitor2_PacketReceived(object sender, PacketDataEventArgs packet) { _packet2Parser(packet.GetPacket()); }
private void PacketSessionOnPacketSent(object sender, PacketDataEventArgs packetDataEventArgs) { var packet = packetDataEventArgs.PacketData; this.Packets.Add(packet); this.InvokePropertyChanged("Packets"); }