PipeNet 2.0.0

Install-Package PipeNet -Version 2.0.0
dotnet add package PipeNet --version 2.0.0
<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

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 73 4/6/2021
1.0.0 86 4/5/2021