PipeNet 2.0.0
.NET Core 3.1
dotnet add package PipeNet --version 2.0.0
NuGet\Install-Package PipeNet -Version 2.0.0
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="PipeNet" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PipeNet --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PipeNet, 2.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install PipeNet as a Cake Addin
#addin nuget:?package=PipeNet&version=2.0.0
// Install PipeNet as a Cake Tool
#tool nuget:?package=PipeNet&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PipeNet
PipeNet in .Net core
Usage
OrderData result= await new Pipe<OrderData>()
.Next(new OrderNode())
.Next(new ProducingNode())
.Finally(new CheckoutNode())
.Execute(new OrderData()
{
Name = "Coffee",
State = this.GetType().Name,
});
Node 1 in the pipe
public class OrderNode : Node<OrderData>
{
public override async Task<OrderData> Execute(OrderData param)
{
param.State = GetType().Name;
return await base.Execute(param);
}
}
Node 2 in the pipe
public class ProducingNode : Node<OrderData>
{
public override async Task<OrderData> Execute(OrderData param)
{
param.State = GetType().Name;
return await base.Execute(param);
}
}
Node 3 in the pipe
public class CheckoutNode : Node<OrderData>
{
public override async Task<OrderData> Execute(OrderData param)
{
param.State = GetType().Name;
return await base.Execute(param);
}
}
Benchmark Summary
BenchmarkDotNet=v0.12.1, OS=macOS 11.2.3 (20D91) [Darwin 20.3.0] Intel Core i7-9750H CPU 2.60GHz, 1 CPU, 12 logical and 6 physical cores .NET Core SDK=5.0.201 [Host] : .NET Core 5.0.4 (CoreCLR 5.0.421.11614, CoreFX 5.0.421.11614), X64 RyuJIT DefaultJob : .NET Core 5.0.4 (CoreCLR 5.0.421.11614, CoreFX 5.0.421.11614), X64 RyuJIT
Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|
WithPipeNet | 221.3 ns | 4.37 ns | 10.87 ns | 0.0713 | - | - | 448 B |
RunWithoutPipeNet | 218.0 ns | 4.41 ns | 10.90 ns | 0.0892 | - | - | 560 B |
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp3.1 |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- EasyRetry (>= 2.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.