Skip to content
TypNull edited this page Apr 25, 2024 · 1 revision

Welcome to the $\text{\color{gray}Shard \color{orange}Request}$ wiki!

This Wiki provides a documentation on how to use this Request library and it's functions. It also includes examples demonstrating the usage.

All examples are implemented using .Net 6 and Visual Studio 2022.

Purpose

What is the purpose of the Request library?

  • Task Handling and Prioritization:

    • The Shard.Request library efficiently manages a multitude of tasks by sorting them based on priority.
    • High-priority requests take precedence over low-priority ones, ensuring optimal resource utilization.
  • Responsive IO-Bound Work:

    • If your application involves significant IO-bound work (such as network requests), Shard.Request allows parallel execution while maintaining application responsiveness.
    • It ensures that your application remains interactive even during resource-intensive operations.
  • Controlled Parallelism:

    • Sometimes, you need parallel execution, but not all tasks should run simultaneously.
    • Shard.Request provides the ability to throttle the degree of parallelism, preventing excessive resource consumption.
  • Automatic Retries and Grouping:

    • When a request fails, Shard.Request automatically retries it, reducing the burden on developers.
    • Requests can also be grouped, streamlining complex workflows.
  • Dynamic Parallelism:

    • The degree of parallelism can adapt dynamically based on system conditions, ensuring efficient resource utilization.
  • Easy Implementation:

    • Developers can seamlessly integrate Shard.Request into their applications without building their own asynchronous system.
    • It simplifies the process of handling requests, making it an organized and efficient solution for C# .NET 6-based applications.

Installation

This package is available on NuGet for convenient downloading and installation.