Table of Contents

Class CodeStream

Namespace
DuetControlServer.IPC.Processors
Assembly
DuetControlServer.dll

Command interpreter for code streams

public sealed class CodeStream : IProcessor, IDisposable
Inheritance
CodeStream
Implements
Inherited Members

Constructors

CodeStream(Connection, ClientInitMessage, CodeFactory, ObjectModel, ILogger<CodeStream>, IOptions<Settings>)

Constructor of the code stream interpreter

public CodeStream(Connection conn, ClientInitMessage initMessage, CodeFactory codeFactory, ObjectModel model, ILogger<CodeStream> logger, IOptions<Settings> settings)

Parameters

conn Connection

Connection instance

initMessage ClientInitMessage

Initialization message from the client

codeFactory CodeFactory

Code factory to create code instances

model ObjectModel

Object model

logger ILogger<CodeStream>
settings IOptions<Settings>

Settings

Properties

Connection

Connection to the IPC client served by this processor

public Connection Connection { get; }

Property Value

Connection

HasClientsWaitingForMessages

Check if there are any clients waiting for generic messages

public static bool HasClientsWaitingForMessages { get; }

Property Value

bool

SupportedCommands

List of supported commands in this mode. This is not really used because this mode reads lines and no JSON objects

public static Type[] SupportedCommands { get; }

Property Value

Type[]

Methods

Dispose()

Dispose of the code stream interpreter

public void Dispose()

ProcessAsync(CancellationToken)

Reads incoming codes and processes them asynchronously

public Task ProcessAsync(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Cancellation token

Returns

Task

Asynchronous task

Record a new message based on the message flags

public static void RecordMessage(MessageTypeFlags flags, Message message)

Parameters

flags MessageTypeFlags

Message flags

message Message