Vestigium.Helpers.FileIo
2.0.0
dotnet add package Vestigium.Helpers.FileIo --version 2.0.0
NuGet\Install-Package Vestigium.Helpers.FileIo -Version 2.0.0
<PackageReference Include="Vestigium.Helpers.FileIo" Version="2.0.0" />
<PackageVersion Include="Vestigium.Helpers.FileIo" Version="2.0.0" />
<PackageReference Include="Vestigium.Helpers.FileIo" />
paket add Vestigium.Helpers.FileIo --version 2.0.0
#r "nuget: Vestigium.Helpers.FileIo, 2.0.0"
#:package Vestigium.Helpers.FileIo@2.0.0
#addin nuget:?package=Vestigium.Helpers.FileIo&version=2.0.0
#tool nuget:?package=Vestigium.Helpers.FileIo&version=2.0.0
Vestigium.Helpers.FileIo
Validated file jobs. Robocopy is the behavior reference; FileIo is the record. This package does not spawn robocopy.exe.
Recon fills five size buckets. Default collision is UniqueName (.##). Cap is NameCap — the original dest is never overwritten unless the caller picks Overwrite.
Identity
| Field | Value |
|---|---|
| Package | Vestigium.Helpers.FileIo 1.1.2 |
| TFM | net10.0 |
| APPID | FileIo (FileIoCatalog.AppId) |
| EVENTID | Reserved 12500–12999 (used through 12610) |
| Depends on | Vestigium.Helpers.Analytics 1.0.1, Vestigium.Helpers.Hashing 1.4.1, Vestigium.Logging |
| License | MIT |
| Contract | 002 -- Requirements Document |
Consume
<PackageReference Include="Vestigium.Helpers.FileIo" Version="1.1.2" />
using Vestigium.Helpers.FileIo;
var job = FileIoHelper.Copy(export, archive);
var result = await job.RunAsync();
var audit = FileIoHelper.Copy(export, archive, new FileIoJobOptions { AuditMode = true });
_ = await audit.RunAsync(); // recon + decisions, no disk change
JobId is fio- + 12 hex. Correlation id on every log line.
Surface
| Call | Returns | Notes |
|---|---|---|
FileIoHelper.Copy / Move / Delete / Mirror |
FileIoJob |
Then RunAsync. |
job.Pause / Resume / Cancel |
void | Pause finishes the current 64 KiB buffer. Cancel deletes dest this job created. |
AnalyzeDirectory |
analysis | Tree sizes without a copy. |
WriteProbe / ReadProbe |
probe result | Sized fixture under a caller path. |
CompareFiles(left, right) |
compare result | Hashing sibling does the digest. |
PruneEmptyDirectories |
int | Root is kept. |
SecureDelete(path, recipe) |
void | Then delete. Flash is best-effort. |
FileIoCatalog.Register(cfg) |
void | Host-only, during VestigiumLogger.Initialize. |
Collision: UniqueName (default), Skip, Overwrite.
Rules that do not move
- No
robocopy.exe. NoReadAllByteson a payload. - UniqueName never overwrites the original dest. Cap is an error, not a clobber.
- Audit Mode writes Would* decisions and changes no disk.
- Cancel removes only files this job created.
- No payload bytes and no
Exceptionobjects in JSONL. - The library never calls
VestigiumLogger.Initialize.
Logging
VestigiumLogger.Initialize(cfg =>
{
cfg.AppId = "PingIQ"; // host APPID, not FileIo
cfg.LogDirectory = logDir;
FileIoCatalog.Register(cfg);
AnalyticsCatalog.Register(cfg);
});
Writes are no-ops until the host initializes. JSONL lands at %ProgramData%\Vestigium\Logs\{host-APPID}\. Dest unique-content index: %ProgramData%\Vestigium\FileIo\Indexes\.
Named events live in EventCatalog/fileio.json.
Related
Sizes: Vestigium.Helpers.Analytics. Digests: Vestigium.Helpers.Hashing.
Long-form documents live in Vestigium.Documentation / Helpers / FileIo. Folders, not files — current revision sits inside the folder.
| Area | GitHub |
|---|---|
| 000 -- Archived | folder |
| 001 -- Implementation Plan | folder |
| 002 -- Requirements Document | folder |
| 003 -- Design Document | folder |
| 004 -- Developers Guide | folder |
| Product | Versions 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. |
-
net10.0
- Vestigium.Helpers.Analytics (>= 1.0.1)
- Vestigium.Helpers.Hashing (>= 1.4.1)
- Vestigium.Logging (>= 1.7.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Vestigium.Helpers.FileIo:
| Package | Downloads |
|---|---|
|
Vestigium.Helpers.Network
Workstation inventory and protocol jobs for diagnostic hosts. Logging via Vestigium.Logging. Campaign stats via Vestigium.Helpers.Json. P95 via Analytics. Share probes via FileIo. OUI lookup is a caller URL. The embedded snapshot is a stub. |
GitHub repositories
This package is not used by any popular GitHub repositories.