Table of Contents

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()

public void 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()

public void EnterCall()

ExitCall()

public void 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