/// <summary> /// Performs packet dispatching logic /// </summary> /// <param name="obj">A <see cref="DataPacket"/> to dispatch</param> private void DoDispatch(object obj) { DataPacket dp = obj as DataPacket; if (Logging.IsLoggingEnabled) { Logging.DumpDataPacket(dp); } try { if (!parent.Dispatcher.DispatchPacket(dp)) { SNACFunctions.ProcessSNAC(dp); } } catch (Exception ex) { parent.OnPacketDispatchException(ex, dp); } }