SubEtha

0.4.1

Shared memory between processes, as PowerShell cmdlets and objects. Rings, queues, channels, locks, atomics, counters and shared collections that several processes on one machine read and write at the same time, each backed by a memory-mapped file that outlives the session that made it. A New- cmdlet makes one and an Open- cmdlet attaches to one another process has al
Shared memory between processes, as PowerShell cmdlets and objects. Rings, queues, channels, locks, atomics, counters and shared collections that several processes on one machine read and write at the same time, each backed by a memory-mapped file that outlives the session that made it. A New- cmdlet makes one and an Open- cmdlet attaches to one another process has already made; the object either one returns carries the operations as methods, and Send-SubEthaItem and Receive-SubEthaItem move items through the pipeline. Bytes cross as byte[] pinned in place rather than copied, and a lock or a hold comes back as an object that releases on Release(), Dispose() or collection. Every cmdlet answers to a shorter name with the SE prefix. Bound directly to Rust with PoWerRuSt (pwrs), Rust bindings for writing PowerShell binary modules in the spirit of PyO3: the cmdlets are the library, not a wrapper over a command line. Windows x64 and Linux x64 in one module, on PowerShell 7 and Windows PowerShell 5.1. Source and issues at https://github.com/Variably-Constant/SubEtha; the binding framework at https://github.com/Variably-Constant/PWRS and https://crates.io/crates/PoWerRuSt.
Show more

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name SubEtha

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name SubEtha

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

Copyright (c) 2026 Markus Newton

Package Details

Author(s)

  • Markus Newton

Tags

pwrs powershell ipc shared-memory cross-process cmdlet bindings

Cmdlets

New-SubEthaAtomic Open-SubEthaAtomic New-SubEthaRegion Open-SubEthaRegion New-SubEthaCell Open-SubEthaCell New-SubEthaVec Open-SubEthaVec New-SubEthaSharedArc Open-SubEthaSharedArc New-SubEthaLazyValue Open-SubEthaLazyValue New-SubEthaBitVec Open-SubEthaBitVec New-SubEthaSpscRing Open-SubEthaSpscRing New-SubEthaBroadcastRing Open-SubEthaBroadcastRing New-SubEthaCapacityRing Open-SubEthaCapacityRing New-SubEthaLocaleRing Open-SubEthaLocaleRing New-SubEthaRing Open-SubEthaRing New-SubEthaReorderWindow New-SubEthaStack Open-SubEthaStack New-SubEthaDeque Open-SubEthaDeque New-SubEthaPubSub Open-SubEthaPubSub New-SubEthaLamportPair New-SubEthaFrameRegion Open-SubEthaFrameRegion New-SubEthaArena Open-SubEthaArena New-SubEthaLinkedList Open-SubEthaLinkedList New-SubEthaSlab Open-SubEthaSlab New-SubEthaBTreeMap Open-SubEthaBTreeMap New-SubEthaHashMap Open-SubEthaHashMap New-SubEthaMpscPool New-SubEthaMpmcGrid New-SubEthaNotifierSet New-SubEthaLeaderElection Open-SubEthaLeaderElection New-SubEthaHolderTable Open-SubEthaHolderTable New-SubEthaHeartbeat Open-SubEthaHeartbeat New-SubEthaEpochBarrier Open-SubEthaEpochBarrier New-SubEthaCondvar Open-SubEthaCondvar Wait-SubEthaCondition New-SubEthaFenceClock Open-SubEthaFenceClock New-SubEthaEpochs Open-SubEthaEpochs New-SubEthaRWLock Open-SubEthaRWLock New-SubEthaSemaphore Open-SubEthaSemaphore New-SubEthaOwnerLease Open-SubEthaOwnerLease New-SubEthaBloomFilter Open-SubEthaBloomFilter Measure-SubEthaBloomSize New-SubEthaBlockedBloomFilter Open-SubEthaBlockedBloomFilter New-SubEthaHyperLogLog Open-SubEthaHyperLogLog New-SubEthaCountMinSketch Open-SubEthaCountMinSketch Measure-SubEthaSketchSize New-SubEthaHistogram Open-SubEthaHistogram New-SubEthaRateLimiter Open-SubEthaRateLimiter New-SubEthaLruCache Open-SubEthaLruCache New-SubEthaReservoir Open-SubEthaReservoir New-SubEthaHandleTable Open-SubEthaHandleTable New-SubEthaTimePointTile Open-SubEthaTimePointTile New-SubEthaVersionChain Open-SubEthaVersionChain New-SubEthaVersionedSlab Open-SubEthaVersionedSlab New-SubEthaVersionedMap Open-SubEthaVersionedMap New-SubEthaLanedMap Open-SubEthaLanedMap New-SubEthaTopologyMap Open-SubEthaTopologyMap New-SubEthaGraph Open-SubEthaGraph New-SubEthaUniversal Open-SubEthaUniversal New-SubEthaTower Open-SubEthaTower New-SubEthaChannel Open-SubEthaChannel New-SubEthaAdaptiveQueue New-SubEthaWorkQueue Open-SubEthaWorkQueue New-SubEthaKvMap New-SubEthaQosPolicy New-SubEthaTinyBloom New-SubEthaFineBloom New-SubEthaClock New-SubEthaCausalClock New-SubEthaSensSender New-SubEthaSensReceiver New-SubEthaLossKind New-SubEthaLossBursts New-SubEthaTiming New-SubEthaRoundTripShape New-SubEthaPeriodicity New-SubEthaCapacity New-SubEthaForecast New-SubEthaPathChanges New-SubEthaTcpBridgeClient New-SubEthaTcpBridgeServer New-SubEthaSelfSignedCert New-SubEthaQuicBridgeClient New-SubEthaQuicBridgeServer Get-SubEthaTransport Send-SubEthaItem Receive-SubEthaItem

PSEditions

Desktop Core

Dependencies

This module has no dependencies.

Release Notes

First release. 135 cmdlets over the shared-memory families: atomics and counters, rings and queues, channels and pub/sub, locks and latches, maps and slabs and lists, the probabilistic sketches, the versioned structures, the link sensing that reports loss, timing and capacity on a path, and the TCP and QUIC bridges. Get-Help carries a synopsis, a description, help on every parameter and an example for each of them. Every cmdlet, class, enum and method the module exports is reached by the Pester suite, and a gate suite fails the run when one is not: 178 tests pass in PowerShell 7.6.6 and Windows PowerShell 5.1 on Windows x64, and in PowerShell 7.6.5 on Ubuntu 24.04 on Linux x64. Both native libraries ship in the one module folder.

FileList

Version History

Version Downloads Last updated
0.4.1 (current version) 7 9/19/2026