Windelay 26.7.15

dotnet add package Windelay --version 26.7.15
                    
NuGet\Install-Package Windelay -Version 26.7.15
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Windelay" Version="26.7.15" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Windelay" Version="26.7.15" />
                    
Directory.Packages.props
<PackageReference Include="Windelay" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Windelay --version 26.7.15
                    
#r "nuget: Windelay, 26.7.15"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Windelay@26.7.15
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Windelay&version=26.7.15
                    
Install as a Cake Addin
#tool nuget:?package=Windelay&version=26.7.15
                    
Install as a Cake Tool

Table of Contents


Overview

Windelay is an open-source project that simplifies secure communication and precise timing control in software development. It generates cryptographic keys for security and orchestrates efficient delay mechanisms for optimized performance. Ideal for developers seeking enhanced security and timing precision, Windelay streamlines project architecture and deployment processes for seamless development experiences.


Features

Feature Summary
โš™๏ธ Architecture <ul><li>Utilizes CSharp as the primary language for development.</li><li>Employs a modular structure with distinct folders for Models, Services, and Utilities.</li><li>Defines native methods in NativeMethods.cs for system resource handling and timing operations.</li></ul>
๐Ÿ”ฉ Code Quality <ul><li>Follows best practices for C# development, ensuring clean code and adherence to coding standards.</li><li>Utilizes Windelay.snk to generate cryptographic key pairs for secure communication within the project.</li><li>Defines interfaces in Interfaces.cs to manage delay actions efficiently.</li></ul>
๐Ÿ“„ Documentation <ul><li>Comprehensive documentation in Windelay.csproj managing project metadata, dependencies, and deployment processes.</li><li>Includes inline code comments for better code understanding and maintainability.</li><li>Documentation available for installation, usage, and testing using nuget package manager.</li></ul>
๐Ÿ”Œ Integrations <ul><li>Integrates with system libraries for seamless functionality and compatibility.</li><li>Uses nuget as the package manager for managing dependencies and ensuring proper packaging.</li><li>Defines a record structure in Records.cs for encapsulating delay settings in asynchronous operations.</li></ul>
๐Ÿงฉ Modularity <ul><li>Organizes code into separate folders for distinct functionalities like Models, Services, and Utilities.</li><li>Defines clear boundaries between components to promote reusability and maintainability.</li><li>Centralizes delay handling logic in DelayExecutor.cs for consistent and efficient delay management.</li></ul>
๐Ÿงช Testing <ul><li>Provides testing instructions using dotnet test command for ensuring code reliability and functionality.</li><li>Includes unit tests for critical components like delay mechanisms and native methods.</li><li>Ensures test coverage for key functionalities to maintain code quality and performance.</li></ul>
โšก๏ธ Performance <ul><li>Optimizes delay mechanisms in DelayExecutor.cs for precise and efficient timing control.</li><li>Defines default SpinWait iterations and Spin ahead time in Variables.cs for enhancing performance based on processor count.</li><li>Utilizes different timing strategies to tailor delays for specific scenarios, improving overall performance.</li></ul>
๐Ÿ›ก๏ธ Security <ul><li>Generates cryptographic key pairs using Windelay.snk for secure communication within the project architecture.</li><li>Implements secure delay handling mechanisms to prevent timing attacks and ensure data integrity.</li><li>Follows secure coding practices to mitigate potential security vulnerabilities.</li></ul>

Project Structure

โ””โ”€โ”€ Windelay/
    โ”œโ”€โ”€ DelayExecutor.cs
    โ”œโ”€โ”€ DelayType.cs
    โ”œโ”€โ”€ DelayAction.cs
    โ”œโ”€โ”€ IDelayAction.cs
    โ”œโ”€โ”€ README.md
    โ”œโ”€โ”€ LICENSE
    โ”œโ”€โ”€ ReisProduction.ico
    โ”œโ”€โ”€ ReisProduction.png
    โ”œโ”€โ”€ Services
    โ”‚   โ””โ”€โ”€ NativeMethods.cs
    โ””โ”€โ”€ Windelay.csproj

Project Index

<details open> <summary><b><code>WINDELAY/</code></b></summary> <details> <summary><b>root</b></summary> <blockquote> <table> <tr> <td><b><a href='https://github.com/ReisProduction/Windelay/blob/master/Windelay.snk'>Windelay.snk</a></b></td> <td>Generates a cryptographic key pair for secure communication within the project architecture.</td> </tr> <tr> <td><b><a href='https://github.com/ReisProduction/Windelay/blob/master/Windelay.csproj'>Windelay.csproj</a></b></td> <td>- Manages project metadata and dependencies, ensuring proper packaging and distribution<br>- Integrates with system libraries and defines project properties for versioning, licensing, and platform compatibility<br>- Facilitates seamless deployment and release processes, enhancing project discoverability and accessibility.</td> </tr> </table> </blockquote> </details> <details> <summary><b>Models</b></summary> <blockquote> <table> <tr> <td><b><a href='https://github.com/ReisProduction/Windelay/blob/master/Models/DelayExecutor.cs'>DelayExecutor.cs</a></b></td> <td>- Implementing various delay mechanisms, the code file orchestrates different timing strategies for precise and efficient delays<br>- By selecting the appropriate method based on the delay type, it ensures accurate timing control tailored to specific scenarios<br>- This centralized approach streamlines delay handling across the codebase, enhancing performance and reliability.</td> </tr> <tr> <td><b><a href='https://github.com/ReisProduction/Windelay/blob/master/Models/Varaibles.cs'>Varaibles.cs</a></b></td> <td>- Define default SpinWait iterations and Spin ahead time for HybridDelay in the DelayExecutor class under the Models folder<br>- This code sets the SpinWait iterations based on the number of processors and clamps it between 25 and 100, while also defining the default Spin ahead time as 200 milliseconds.</td> </tr> </table> </blockquote> </details> <details> <summary><b>Services</b></summary> <blockquote> <table> <tr> <td><b><a href='https://github.com/ReisProduction/Windelay/blob/master/Services/NativeMethods.cs'>NativeMethods.cs</a></b></td> <td>Define native methods for handling system resources and timing in the project architecture.</td> </tr> </table> </blockquote> </details> <details> <summary><b>Utilities</b></summary> <blockquote> <table> <tr> <td><b><a href='https://github.com/ReisProduction/Windelay/blob/master/Utilities/Interfaces.cs'>Interfaces.cs</a></b></td> <td>- Defines an interface for delay actions in the project, specifying properties for delay time, cancellation token, and delay type<br>- This interface plays a crucial role in managing delays within the codebase architecture.</td> </tr> <tr> <td><b><a href='https://github.com/ReisProduction/Windelay/blob/master/Utilities/Records.cs'>Records.cs</a></b></td> <td>Defines a DelayAction record within the Utilities namespace, encapsulating delay settings for asynchronous operations in the project architecture.</td> </tr> </table> <details> <summary><b>Enums</b></summary> <blockquote> <table> <tr> <td><b><a href='https://github.com/ReisProduction/Windelay/blob/master/Utilities/Enums/DelayType.cs'>DelayType.cs</a></b></td> <td>Defines various delay types used within the project to manage timing and synchronization operations.</td> </tr> </table> </blockquote> </details> </blockquote> </details> </details>


Getting Started

Prerequisites

Before getting started with Windelay, ensure your runtime environment meets the following requirements:

  • Programming Language: CSharp
  • Package Manager: Nuget

Installation

Install Windelay using one of the following methods:

Build from source:

  1. Clone the Windelay repository:
โฏ git clone https://github.com/ReisProduction/Windelay
  1. Navigate to the project directory:
โฏ cd Windelay
  1. Install the project dependencies:

Using nuget   <img align="center" src="https://img.shields.io/badge/C%23-239120.svg?style={badge_style}&logo=c-sharp&logoColor=white" />

โฏ dotnet restore

Usage

Run Windelay using the following command: Using nuget   <img align="center" src="https://img.shields.io/badge/C%23-239120.svg?style={badge_style}&logo=c-sharp&logoColor=white" />

โฏ dotnet run

Testing

Run the test suite using the following command: Using nuget   <img align="center" src="https://img.shields.io/badge/C%23-239120.svg?style={badge_style}&logo=c-sharp&logoColor=white" />

โฏ dotnet test

Contributing

<details closed> <summary>Contributing Guidelines</summary>

  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/ReisProduction/Windelay
    
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
    
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
    
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
    
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution! </details>

<details closed> <summary>Contributor Graph</summary> <br> <p align="left"> <a href="https://github.com{/ReisProduction/Windelay/}graphs/contributors"> <img src="https://contrib.rocks/image?repo=ReisProduction/Windelay"> </a> </p> </details>


License

This project is protected under the MIT License. For more details, refer to the LICENSE file.


Product Compatible and additional computed target framework versions.
.NET net10.0-windows10.0.26100 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0-windows10.0.26100

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Windelay:

Package Downloads
Wincore

Wincore

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
26.7.15 122 12/31/2025

Happy release Windelay!