private void OnPacketEntried(IEnumerable <PacketObject> packets) { if (cancel_req_) { return; } if (PacketDetected == null) { return; } foreach (var packet in packets) { if (cancel_req_) { break; } if ((filter_obj_.Input(packet)) && (!cancel_req_)) { DetectPacketCount++; PacketDetected(this, packet); } } }
public void Input(PacketObject packet, ref bool detect) { if (!filter_.Input(packet)) { return; } var event_dt = DateTime.UtcNow; var event_text = string.Format("Event catch. [{0}]", filter_.ExpressionText); DetectCount++; if (Config.NtfEvent) { NotifyEvent(event_dt, event_text); } if (Config.NtfDialog) { NotifyDialog(event_dt, event_text); } if (Config.NtfMail) { NotifyMail(event_dt, event_text); } detect = true; }
protected override void OnInputPacket(PacketObject input, ref List <PacketObject> output) { if ((filter_obj_busy_ == null) || (filter_obj_busy_.Input(input))) { output.Add(input); } }
internal void DrawPacket(PacketObject packet) { if ((!filter_enable_) || (filter_obj_busy_ == null) || (filter_obj_busy_.Input(packet)) ) { Instance.DrawPacket(packet); } }
public void InputPacket(PacketObject input, ref List <PacketObject> output) { var packet_count = output.Count; if ((filter_obj_ != null) && (!filter_obj_.Input(input)) ) { /* パケット変換対象ではない場合は変換無しで追加 */ output.Add(input); } else { /* パケット変換実施 */ OnInputPacket(input, ref output); } /* 通過したパケット数を更新 */ packet_count_output_ += (ulong)(output.Count - packet_count); }
private PacketObject LoadPlayPacket(PacketLogReader reader, PacketFilterController filter) { var packet = (PacketObject)null; while ((packet = reader.ReadPacket()) != null) { /* データパケット以外は無視 */ if (packet.Attribute != PacketAttribute.Data) { continue; } /* フィルターに合致しないパケットは無視 */ if (!filter.Input(packet)) { continue; } return(packet); } return(null); }