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
connConnectionConnection instance
initMessageClientInitMessageInitialization message from the client
codeFactoryCodeFactoryCode factory to create code instances
modelObjectModelObject model
loggerILogger<CodeStream>settingsIOptions<Settings>Settings
Properties
Connection
Connection to the IPC client served by this processor
public Connection Connection { get; }
Property Value
HasClientsWaitingForMessages
Check if there are any clients waiting for generic messages
public static bool HasClientsWaitingForMessages { get; }
Property Value
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
cancellationTokenCancellationTokenCancellation token
Returns
- Task
Asynchronous task
RecordMessage(MessageTypeFlags, Message)
Record a new message based on the message flags
public static void RecordMessage(MessageTypeFlags flags, Message message)
Parameters
flagsMessageTypeFlagsMessage flags
messageMessage