Class SandboxContext
- Namespace
- DotBoxD.Kernels.Sandbox
- Assembly
- DotBoxD.Kernels.dll
public sealed class SandboxContext
- Inheritance
-
SandboxContext
- Inherited Members
-
Constructors
SandboxContext(SandboxRunId, SandboxPolicy, ResourceMeter, BindingRegistry, IAuditSink, CancellationToken, IReadOnlySet<string>?, string?, string?)
public SandboxContext(SandboxRunId runId, SandboxPolicy policy, ResourceMeter budget, BindingRegistry bindings, IAuditSink audit, CancellationToken cancellationToken, IReadOnlySet<string>? allowedBindingIds = null, string? moduleHash = null, string? policyHash = null)
Parameters
runId SandboxRunId
policy SandboxPolicy
budget ResourceMeter
bindings BindingRegistry
audit IAuditSink
cancellationToken CancellationToken
allowedBindingIds IReadOnlySet<string>
moduleHash string
policyHash string
Properties
AsyncEnabled
public bool AsyncEnabled { get; }
Property Value
- bool
Audit
public IAuditSink Audit { get; }
Property Value
- IAuditSink
Bindings
public BindingRegistry Bindings { get; }
Property Value
- BindingRegistry
Budget
public ResourceMeter Budget { get; }
Property Value
- ResourceMeter
CancellationToken
public CancellationToken CancellationToken { get; }
Property Value
- CancellationToken
ModuleHash
public string ModuleHash { get; }
Property Value
- string
Policy
public SandboxPolicy Policy { get; }
Property Value
- SandboxPolicy
PolicyHash
public string PolicyHash { get; }
Property Value
- string
RunId
public SandboxRunId RunId { get; }
Property Value
- SandboxRunId
Methods
AuditCheckpoint()
public long AuditCheckpoint()
Returns
- long
AuditTimestamp()
public DateTimeOffset AuditTimestamp()
Returns
- DateTimeOffset
BeginBindingReturnCreditScope()
public IDisposable BeginBindingReturnCreditScope()
Returns
- IDisposable
BindingAuditFields(string, DateTimeOffset, long?, long?)
public IReadOnlyDictionary<string, string> BindingAuditFields(string resourceKind, DateTimeOffset startedAt, long? bytesRead = null, long? bytesWritten = null)
Parameters
resourceKind string
startedAt DateTimeOffset
bytesRead long?
bytesWritten long?
Returns
- IReadOnlyDictionary<string, string>
ChargeAllocation(long)
public void ChargeAllocation(long bytes)
Parameters
bytes long
ChargeBindingCall(BindingDescriptor)
public void ChargeBindingCall(BindingDescriptor descriptor)
Parameters
descriptor BindingDescriptor
ChargeBindingReturn(BindingDescriptor, SandboxValue)
public SandboxValue ChargeBindingReturn(BindingDescriptor descriptor, SandboxValue value)
Parameters
descriptor BindingDescriptor
value SandboxValue
Returns
- SandboxValue
ChargeCollection(SandboxValue)
public void ChargeCollection(SandboxValue value)
Parameters
value SandboxValue
ChargeFuel(long)
public void ChargeFuel(long amount)
Parameters
amount long
ChargeLogEvent(string)
public void ChargeLogEvent(string message)
Parameters
message string
ChargeLoopIteration(long)
public void ChargeLoopIteration(long fuelAmount)
Parameters
fuelAmount long
ChargeLoopIterations(long, long)
public void ChargeLoopIterations(long iterations, long fuelPerIteration)
Parameters
iterations long
fuelPerIteration long
ChargeString(string)
public void ChargeString(string value)
Parameters
value string
ChargeStringAllocation(int)
public void ChargeStringAllocation(int charLength)
Parameters
charLength int
ChargeValue(SandboxValue)
public void ChargeValue(SandboxValue value)
Parameters
value SandboxValue
Checkpoint()
CreateChargedStringConcat(string, string)
public string CreateChargedStringConcat(string left, string right)
Parameters
left string
right string
Returns
- string
CreateChargedSubstring(string, int, int)
public string CreateChargedSubstring(string value, int startIndex, int length)
Parameters
value string
startIndex int
length int
Returns
- string
CreateWallTimeToken()
public CancellationTokenSource CreateWallTimeToken()
Returns
- CancellationTokenSource
EnsureRequiredBindingFailureAudit(BindingDescriptor, long, SandboxErrorCode)
public void EnsureRequiredBindingFailureAudit(BindingDescriptor descriptor, long checkpoint, SandboxErrorCode errorCode)
Parameters
descriptor BindingDescriptor
checkpoint long
errorCode SandboxErrorCode
EnsureRequiredBindingSuccessAudit(BindingDescriptor, long)
public void EnsureRequiredBindingSuccessAudit(BindingDescriptor descriptor, long checkpoint)
Parameters
descriptor BindingDescriptor
checkpoint long
EnterCall()
ExitCall()
GetCapability(string)
public CapabilityGrant GetCapability(string capabilityId)
Parameters
capabilityId string
Returns
- CapabilityGrant
NextRandomInt32(int, int)
public int NextRandomInt32(int minInclusive, int maxExclusive)
Parameters
minInclusive int
maxExclusive int
Returns
- int
RequireCapability(string)
public void RequireCapability(string capabilityId)
Parameters
capabilityId string
UtcNow()
public DateTimeOffset UtcNow()
Returns
- DateTimeOffset