QRWells.LibUringSharp
0.1.1
dotnet add package QRWells.LibUringSharp --version 0.1.1
NuGet\Install-Package QRWells.LibUringSharp -Version 0.1.1
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="QRWells.LibUringSharp" Version="0.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add QRWells.LibUringSharp --version 0.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: QRWells.LibUringSharp, 0.1.1"
#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.
// Install QRWells.LibUringSharp as a Cake Addin #addin nuget:?package=QRWells.LibUringSharp&version=0.1.1 // Install QRWells.LibUringSharp as a Cake Tool #tool nuget:?package=QRWells.LibUringSharp&version=0.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
LibUringSharp
A C# wrapper for the Linux io_uring API like liburing.
Features
- io_uring probe
- Basic Operations
- Select Buffers
- Async/Await Support
- Kernel version check
Example
using LibUringSharp;
using var ring = new Ring(4);
using var file = Open("test.txt", OpenOption.Create | OpenOption.Truncate | OpenOption.ReadWrite, new FilePermissions());
var str = "Hello World!";
Submission sub;
// Write to the file
if (ring.TryGetNextSqe(out sub))
{
var bytes = Encoding.UTF8.GetBytes(str);
sub.Option |= SubmissionOption.IoLink;
sub.PrepareWrite(file, bytes, 0);
}
// Read the file
if (ring.TryGetNextSqe(out sub))
{
var buffer = new byte[str.Length];
sub.PrepareRead(file, buffer, 0);
}
ring.Submit();
while (ring.TryGetCompletion(out var com))
{
Console.WriteLine(com.Result); // output: 12
}
License
This project is licensed under the MIT License - see the LICENSE file for details
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.