PingTester v1.6
Summary of Changes for All Files
The main changes are related to the trace code window.
General Changes
Addition of Comments and Documentation
- XML comments for classes and methods.
- Descriptions added for public methods and properties.
Interface Changes
- Addition of XML comments for public methods and properties.
Support for Interfaces
- Replaced concrete classes with interfaces (e.g.,
Logger
withILogger
,DnsManager
withIDnsManager
).
Null Checks
- Added null checks for constructor and method parameters.
Addition of Constants
- Constants added for string formatting and other values.
Code Structure Changes
- Code segmented into logical blocks using
#region
.
Changes for the PingManager Class
Support for Caching
- Used
ConcurrentDictionary<string, HopData>
to store hop data.
Support for Synchronization
- Used
CancellationToken
for canceling operations.
Support for Update Flags
- Utilized a flag to track the need for updating statistics.
Methods Added
- Added methods for data clearing, statistics calculation, string formatting, and other operations.
Support for Property Changes
- Properties now update flags and trigger events when their values change.
Support for Caching Last Value
- Added caching for the last response time and other data.
Support for Exception Handling
- Improved exception handling in methods.
Support for Logging
- Added logging for various stages of operation.
Support for Timeouts
- Implemented timeout support for DNS requests and other operations.
Support for Comparison
- Used
EqualityComparer<T>.Default.Equals
for comparing property values.
Changes for the DnsManager Class
Support for Caching
- Used
IMemoryCache
for caching DNS query results.
Support for Synchronization
- Used
CancellationToken
for canceling operations.
Support for Update Flags
- Utilized a flag to track the need for updating statistics.
Methods Added
- Added methods for data clearing, statistics calculation, string formatting, and other operations.
Support for Property Changes
- Properties now update flags and trigger events when their values change.
Support for Caching Last Value
- Added caching for the last response time and other data.
Support for Exception Handling
- Improved exception handling in methods.
Support for Logging
- Added logging for various stages of operation.
Support for Timeouts
- Implemented timeout support for DNS requests and other operations.
Support for Comparison
- Used
EqualityComparer<T>.Default.Equals
for comparing property values.
Changes for the Logger Class
Support for Caching
- Used
ConcurrentQueue<string>
to store log messages.
Support for Synchronization
- Utilized
Timer
for periodic logging to file.
Support for Update Flags
- Utilized a flag to track the need for updating statistics.
Methods Added
- Added methods for data clearing, statistics calculation, string formatting, and other operations.
Support for Property Changes
- Properties now update flags and trigger events when their values change.
Support for Caching Last Value
- Added caching for the last response time and other data.
Support for Exception Handling
- Improved exception handling in methods.
Support for Logging
- Added logging for various stages of operation.
Support for Timeouts
- Implemented timeout support for DNS requests and other operations.
Support for Comparison
- Used
EqualityComparer<T>.Default.Equals
for comparing property values.
Changes for the TraceResult Class
Support for Caching
- Used
ConcurrentBag<long>
to store response times.
Support for Synchronization
- Used
lock
to synchronize access to data.
Support for Update Flags
- Utilized a flag to track the need for updating statistics.
Methods Added
- Added methods for data clearing, statistics calculation, string formatting, and other operations.
Support for Property Changes
- Properties now update flags and trigger events when their values change.
Support for Caching Last Value
- Added caching for the last response time and other data.
Support for Exception Handling
- Improved exception handling in methods.
Support for Logging
- Added logging for various stages of operation.
Support for Timeouts
- Implemented timeout support for DNS requests and other operations.
Support for Comparison
- Used
EqualityComparer<T>.Default.Equals
for comparing property values.
Changes for the HopData Class
Support for Caching
- Used
ConcurrentBag<long>
to store response times.
Support for Synchronization
- Used
lock
to synchronize access to data.
Support for Update Flags
- Utilized a flag to track the need for updating statistics.
Methods Added
- Added methods for data clearing, statistics calculation, string formatting, and other operations.
Support for Property Changes
- Properties now update flags and trigger events when their values change.
Support for Caching Last Value
- Added caching for the last response time and other data.
Support for Exception Handling
- Improved exception handling in methods.
Support for Logging
- Added logging for various stages of operation.
Support for Timeouts
- Implemented timeout support for DNS requests and other operations.
Support for Comparison
- Used
EqualityComparer<T>.Default.Equals
for comparing property values.
Full Changelog: ping...ip