Class WorkerStreamWrapper

Namespace: ArmoniK.Api.Worker.Worker
Assembly: ArmoniK.Api.Worker.dll

Wrapper implementation that provide a simpler interface to use for tasks implementations in C#

[PublicAPI]
public class WorkerStreamWrapper : Worker.WorkerBase, IAsyncDisposable

Inheritance

objectWorker.WorkerBaseWorkerStreamWrapper

Implements

IAsyncDisposable

Inherited Members

Worker.WorkerBase.Process(ProcessRequest, ServerCallContext), Worker.WorkerBase.HealthCheck(Empty, ServerCallContext), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

Constructors

WorkerStreamWrapper(ILoggerFactory, ComputePlane, GrpcChannelProvider)

Instantiate a simpler interface to use for tasks implementations

public WorkerStreamWrapper(ILoggerFactory loggerFactory, ComputePlane computePlaneOptions, GrpcChannelProvider provider)

Parameters

loggerFactory ILoggerFactory

LoggerFactory to create loggers

computePlaneOptions ComputePlane

Options for the ComputePlane

provider GrpcChannelProvider

gRPC channel provider to create channels with the Agent

WorkerStreamWrapper(ILoggerFactory, GrpcChannelProvider)

Instantiate a simpler interface to use for tasks implementations

[Obsolete("Superseded by WorkerStreamWrapper(ILoggerFactory, Options::ComputePlane, GrpcChannelProvider)")]
public WorkerStreamWrapper(ILoggerFactory loggerFactory, GrpcChannelProvider provider)

Parameters

loggerFactory ILoggerFactory

LoggerFactory to create loggers

provider GrpcChannelProvider

gRPC channel provider to create channels with the Agent

Fields

logger_

Logger used for printing logs during task execution

[PublicAPI]
public ILogger<WorkerStreamWrapper> logger_

Field Value

ILogger<WorkerStreamWrapper>

Methods

DisposeAsync()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

public ValueTask DisposeAsync()

Returns

ValueTask

A task that represents the asynchronous dispose operation.

HealthCheck(Empty, ServerCallContext)

public override Task<HealthCheckReply> HealthCheck(Empty request, ServerCallContext context)

Parameters

request Empty

context ServerCallContext

Returns

Task<HealthCheckReply>

Process(ProcessRequest, ServerCallContext)

public override sealed Task<ProcessReply> Process(ProcessRequest request, ServerCallContext context)

Parameters

request ProcessRequest

context ServerCallContext

Returns

Task<ProcessReply>

Process(ITaskHandler)

User defined computations

public virtual Task<Output> Process(ITaskHandler taskHandler)

Parameters

taskHandler ITaskHandler

Handler to access input data and task capabilities

Returns

Task<Output>

The output of the computational task

Exceptions

RpcException

when method is not overwritten

ProcessAsync(ITaskHandler, CancellationToken)

User defined computations Calls if not overriden.

public virtual Task<Output> ProcessAsync(ITaskHandler taskHandler, CancellationToken cancellationToken)

Parameters

taskHandler ITaskHandler

Handler to access input data and task capabilities

cancellationToken CancellationToken

Token used to cancel the execution of the method

Returns

Task<Output>

The output of the computational task