NetworkCommsDotNet.Tools NamespaceNetworkComms.Net Help
Large number of tools which can be used to simplify adding network related functionality to your own application
Classes

  ClassDescription
Public classAdler32Checksum
Implementation of the OnlineAdler32 checksum algorithm. It is not a particularly reliable checksum compared with OnlineMD5 but it is about 10 times faster. NetworkComms.Net uses OnlineMD5 as its default but this class is provided should speed be the more important factor.
Public classCertificateDetails
Contains the information required to create self signed certificates
Public classCommsMath
A class used for math operations in NetworkComms.Net. Primarily used for load analysis.
Public classCommsThreadPool
A compact priority based thread pool used by NetworkComms.Net to run packet handlers
Public classDOSProtection
NetworkComms.Net class used for providing Denial Of Service (DOS) protection features. If enabled, malformed data events and connection initialises are tracked. If above set thresholds IPAddresses are banned.
Public classHostInfo
A static class which provides information about the local host.
Public classHostInfo IP
Host IP information
Public classIPRange
A class that encapsulates an IPv4 or IPv6 range. Used for checking if an IPAddress is within an IPRange.
Public classIPTools
A collection of tools for dealing with OnlineIP addresses.
Public classLiteLogger
A core logger that can be used to write log messages to the console and or a log file.
Public classLogTools
Quickly log exceptions and information to a file.
Public classMD5Managed
Create a managed MD5 hash calculator
Public classPacketBuilder
Packet data is generally broken into multiple variable sized byte chunks or 'partial packets'. This class provides features to effortlessly rebuild whole packets.
Public classPeerDiscovery
Provides the ability to discover 'discoverable' peers on the local network.
Public classPriorityQueue TValue 
Queue which contains features to add and remove items using a simple priority model.
Public classSSLTools
Tools used in conjunction with SSL encrypted connections.
Public classStreamTools
Wrapper class for writing to streams with time-outs. Used primarily to prevent stream write deadlocks.
Public classStreamTools StreamSendWrapper
Used to send all or parts of a stream. Particularly useful for sending files directly from disk etc.
Public classStreamTools ThreadSafeStream
A wrapper around a stream to ensure it can be accessed in a thread safe way. The .net implementation of Stream.Synchronized is not suitable on its own.
Structures

  StructureDescription
Public structureShortGuid
Represents a shortform globally unique identifier (OnlineGUID) which is easier to handle than Guid.NewGuid(). This class is used to uniquely identify a peer/application using NetworkComms.Net. See Onlinehere for original source.
Interfaces

  InterfaceDescription
Public interfaceILogger
The logging interface using by NetworkComms.Net. Implement an instance of this interface to enable your own customised logging.
Delegates

  DelegateDescription
Public delegatePeerDiscovery PeerDiscoveredHandler
The event delegate which can optionally be used when a peer is successfully discovered.
Enumerations

  EnumerationDescription
Public enumerationLiteLogger LogMode
The different log modes available in the lite logger
Public enumerationPeerDiscovery DiscoveryMethod
Encapsulates the different peer discovery methods available.
Public enumerationQueueItemPriority
A list of priorities used to handle incoming packets