Menu

Tree [0907ff] master /
 History

HTTPS access


File Date Author Commit
 Examples 2013-01-14 Chris Morgan Chris Morgan [e5f309] Update assembly version from 0.12.0 to 0.13.0
 PacketDotNet 2014-08-07 Chris Morgan Chris Morgan [0907ff] Clean up some xml documentation to match the st...
 Scripts 2011-08-04 Chris Morgan Chris Morgan [f46917] Update the release process to mention renaming ...
 Test 2014-08-07 Chris Morgan Chris Morgan [a09e3f] InformationElementTest: Remove unused 'infoElem...
 .gitignore 2012-04-05 Chris Morgan Chris Morgan [e6441a] Merge Alan Rushforth's github branch, git://git...
 ArchitectureNotes 2010-03-23 Chris Morgan Chris Morgan [d59286] Reword parts of the ArchitectureNotes to reflec...
 LICENSE 2009-12-01 Chris Morgan Chris Morgan [e78b0c] Lgpl license, code cleanups and improvements
 PacketNet.sln 2012-04-05 Chris Morgan Chris Morgan [e6441a] Merge Alan Rushforth's github branch, git://git...
 README 2011-08-04 Chris Morgan Chris Morgan [e575f9] Mention performance in the section talking abou...

Read Me

Packet.Net

Packet.Net is a high performance .Net assembly for dissecting and constructing
network packets such as ethernet, ip, tcp, udp etc.

Author: Chris Morgan <chmorgan@gmail.com>

http://packetnet.sourceforge.net

Code is found in the PacketDotNet namespace.

Getting started
===============

A few basic examples can be found in the Examples/ directory.


Debug vs. Release builds
========================

The Debug build depends on log4net and has log4net calls in some of its classes and
code paths.

The Release build does NOT depend on log4net and, taking advantage of conditional
method attributes, does not include any calls to log4net methods. This ensures that there
is no performance impact on release builds.


Performance benchmarks
======================

The Test/ directory contains a few benchmarks that were used to guide the design
and implementation of Packet.Net. These benchmarks either contain 'performance' or
'benchmark' in their names.

If you have a performance concern or issue you'll want to write a concise test that reproduces
your usage case in a controlled manner. It will then be possible to run and re-run
this test case in various profiling modes in order to look at potential ways of
optimizing code. The tests will also provide a baseline from which to compare
any proposed performance improvements in order to ensure that changes are not
inadvertantly reducing instead of increasing performance.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.