Node.Lib 1.0.11

This package has a SemVer 2.0.0 package version: 1.0.11+0a5ae2c7e061096547e29193811ecd8435d993ab.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Node.Lib --version 1.0.11
                    
NuGet\Install-Package Node.Lib -Version 1.0.11
                    
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="Node.Lib" Version="1.0.11" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Node.Lib" Version="1.0.11" />
                    
Directory.Packages.props
<PackageReference Include="Node.Lib" />
                    
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 Node.Lib --version 1.0.11
                    
#r "nuget: Node.Lib, 1.0.11"
                    
#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 Node.Lib@1.0.11
                    
#: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=Node.Lib&version=1.0.11
                    
Install as a Cake Addin
#tool nuget:?package=Node.Lib&version=1.0.11
                    
Install as a Cake Tool

Node.Lib

The hosting pieces every per-user local node in SharpAstro shares, lifted out of tianwen and pilot (phase 6 of pilot v2's design). Two packages:

Assembly What Depends on
Node.Lib NodeSocketLocation (where an application's per-user socket and data folder are; Resolve, TryGetNamed, the sun_path limit, the lock path, the socket-connected HTTP handler, a listening probe) and NodeLock (one node per socket, cleared and bound only by its holder) nothing
Node.Lib.Hosting NodeSocketHosting: Kestrel on the socket the lock admits it to, owner-only on Unix ASP.NET Core

A client takes Node.Lib alone, so it never carries ASP.NET.

Who uses it

  • pilot: Pilot.Contracts.NodeSocket is pilot's names (pilot2, PILOT_NODE_SOCKET) over a NodeSocketLocation; the node takes the lock and hosting from here; NodeHolder says how a refused node asks the holder who it is.
  • tianwen (to move): TianWen.Hosting.Contracts.Api.NodeSocket, TianWen.Hosting.NodeLock and TianWen.Hosting.Extensions.NodeSocketHosting are the originals these were lifted from. Its socket lives under its own data root, which NodeSocketLocation's socketFolder takes (() => TianWenDataRoot.Directory.FullName), and its clients ask TryGetNamed, which is here too.

Next

  • pilot and tianwen take it through a UseLocalNodeLib switch (the org's sibling-source pattern).
  • Then the rest of the shared table in pilot v2's design: local-only mode, seeing-is-free / commands-need-control (pilot's LAN gate over LAN.Lib's grants), the event broadcaster with a bounded queue per client, jobs, the notifications ring.

Build and test

dotnet build
dotnet test src/Node.Lib.Tests
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Node.Lib:

Package Downloads
TianWen.Lib

Astronomical imaging and device-control library for .NET: cameras, mounts, focusers, filter wheels, cover/calibrators and guiders over ASCOM, Alpaca, ZWO, QHYCCD, Meade LX200, Skywatcher, OnStep and PHD2, plus plate solving, deep-sky and planetary stacking, auto-focus and unattended session automation. First-class multi-OTA (dual rig) support. AOT compatible.

Node.Lib.Hosting

Node.Lib's node side: Kestrel on the Unix domain socket its NodeLock admits it to, owner-only on Unix. Apart from Node.Lib so a client never carries ASP.NET Core.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.91 620 10/23/2026
1.1.61 1,421 10/20/2026
1.0.11 153 10/20/2026