• DuetAPI
  • DuetAPIClient
  • DuetControlServer
  • DuetWebServer
Show / Hide Table of Contents
  • DuetAPI
    • CodeChannel
  • DuetAPI.Commands
    • Acknowledge
    • AddHttpEndpoint
    • AddUserSession
    • BaseCommand
    • BaseResponse
    • Cancel
    • Code
    • CodeFlags
    • CodeParameter
    • CodeParameterConverter
    • CodeParserBuffer
    • CodeParserException
    • CodeResult
    • CodeType
    • Command
    • Command<T>
    • ErrorResponse
    • EvaluateExpression
    • Flush
    • GetFileInfo
    • GetMachineModel
    • HttpResponseType
    • Ignore
    • KeywordType
    • LockMachineModel
    • PatchMachineModel
    • ReceivedHttpRequest
    • RemoveHttpEndpoint
    • RemoveUserSession
    • Resolve
    • ResolvePath
    • Response<T>
    • SendHttpResponse
    • SetMachineModel
    • SimpleCode
    • SyncMachineModel
    • UnlockMachineModel
    • WriteMessage
  • DuetAPI.Connection
    • ConnectionMode
    • Defaults
    • IncompatibleVersionException
    • InterceptionMode
    • SubscriptionMode
  • DuetAPI.Connection.InitMessages
    • ClientInitMessage
    • CommandInitMessage
    • InterceptInitMessage
    • ServerInitMessage
    • SubscribeInitMessage
  • DuetAPI.Machine
    • AccessLevel
    • AnalogSensor
    • AnalogSensorType
    • AnalogSensorTypeConverter
    • Axis
    • BeepRequest
    • Board
    • BoardState
    • Build
    • BuildObject
    • Compatibility
    • CoreKinematics
    • CurrentMove
    • DAA
    • DeltaKinematics
    • DeltaTower
    • Directories
    • DistanceUnit
    • Endstop
    • EndstopType
    • Extruder
    • ExtruderNonlinear
    • Fan
    • FanThermostaticControl
    • FilamentMonitor
    • FilamentMonitorType
    • GpInputPort
    • GpOutputPort
    • HangprinterKinematics
    • Heat
    • Heater
    • HeaterModel
    • HeaterModelPID
    • HeaterMonitor
    • HeaterMonitorAction
    • HeaterMonitorCondition
    • HeaterState
    • HttpEndpoint
    • HttpEndpointType
    • InputChannel
    • InputChannelState
    • Inputs
    • InterfaceType
    • Job
    • Kinematics
    • KinematicsName
    • KinematicsNameConverter
    • LaserFilamentMonitor
    • LaserFilamentMonitorCalibrated
    • LaserFilamentMonitorConfigured
    • Layer
    • Limits
    • LinuxPropertyAttribute
    • MachineMode
    • MachineModel
    • MachineModelConverter
    • MachineStatus
    • Message
    • MessageBox
    • MessageBoxMode
    • MessageType
    • Microstepping
    • MinMaxCurrent<T>
    • ModelCollection
    • ModelCollection<T>
    • ModelGrowingCollection
    • ModelGrowingCollection<T>
    • ModelObject
    • MotorsIdleControl
    • Move
    • MoveCalibration
    • MoveCompensation
    • MoveCompensationType
    • MoveDeviations
    • Network
    • NetworkInterface
    • NetworkProtocol
    • ParsedFileInfo
    • Probe
    • ProbeGrid
    • ProbeType
    • PulsedFilamentMonitor
    • PulsedFilamentMonitorCalibrated
    • PulsedFilamentMonitorConfigured
    • RestorePoint
    • RotatingMagnetFilamentMonitor
    • RotatingMagnetFilamentMonitorCalibrated
    • RotatingMagnetFilamentMonitorConfigured
    • Scanner
    • ScannerStatus
    • ScaraKinematics
    • Sensors
    • SessionType
    • SimpleFilamentMonitor
    • Skew
    • Spindle
    • State
    • TiltCorrection
    • TimesLeft
    • Tool
    • ToolRetraction
    • ToolState
    • UserSession
    • UserVariable
    • Volume
    • ZLeadscrewKinematics
  • DuetAPI.Utility
    • DriverId
    • FileLists
    • Heightmap
    • JsonCamelCaseStringEnumConverter
    • JsonCharEnumConverter
    • JsonHelper
    • JsonLowerCaseStringEnumConverter
    • JsonPolymorphicWriteOnlyConverter<T>
    • JsonRegexListConverter
  • DuetAPIClient
    • BaseCommandConnection
    • BaseConnection
    • CommandConnection
    • HttpEndpointConnection
    • HttpEndpointUnixSocket
    • HttpEndpointUnixSocket.EndpointRequestReceived
    • InterceptConnection
    • InternalServerException
    • SubscribeConnection
  • DuetControlServer
    • Program
    • Settings
  • DuetControlServer.Codes
    • GCodes
    • MCodes
    • TCodes
  • DuetControlServer.Commands
    • AddHttpEndpoint
    • AddUserSession
    • Code
    • EvaluateExpression
    • Flush
    • GetFileInfo
    • GetMachineModel
    • LockMachineModel
    • RemoveHttpEndpoint
    • RemoveUserSession
    • ResolvePath
    • SetMachineModel
    • SimpleCode
    • SyncMachineModel
    • UnlockMachineModel
    • WriteMessage
  • DuetControlServer.FileExecution
    • Job
    • Macro
  • DuetControlServer.Files
    • CodeBlock
    • CodeFile
    • ConfigOverride
    • FileDirectory
    • FilePath
    • InfoParser
  • DuetControlServer.IPC
    • Connection
    • LockManager
    • Server
  • DuetControlServer.IPC.Processors
    • Base
    • Command
    • Interception
    • Subscription
  • DuetControlServer.Model
    • Expressions
    • Filter
    • ItemPathNode
    • Observer
    • Observer.PropertyPathChanged
    • PeriodicUpdater
    • PropertyChangeType
    • Provider
    • Updater
  • DuetControlServer.SPI
    • DataTransfer
    • EvaluateExpressionRequest
    • Interface
  • DuetControlServer.SPI.Channel
    • LockRequest
    • Manager
    • Processor
    • State
  • DuetControlServer.SPI.Communication
    • Consts
  • DuetControlServer.SPI.Communication.FirmwareRequests
    • AbortFileHeader
    • CodeBufferUpdateHeader
    • DoCodeHeader
    • EvaluationResultHeader
    • ExecuteMacroHeader
    • FileChunkHeader
    • PrintPausedHeader
    • PrintPausedReason
    • Request
  • DuetControlServer.SPI.Communication.LinuxRequests
    • AssignFilamentHeader
    • CodeFlags
    • CodeHeader
    • CodeParameter
    • FileChunk
    • GetObjectModelHeader
    • MacroCompleteHeader
    • PrintStartedHeader
    • PrintStoppedHeader
    • Request
    • SetObjectModelHeader
  • DuetControlServer.SPI.Communication.Shared
    • CodeChannelHeader
    • DataType
    • HeightMapHeader
    • MessageHeader
    • MessageTypeFlags
    • PacketHeader
    • PrintStoppedReason
    • StringHeader
    • TransferHeader
    • TransferResponse
  • DuetControlServer.SPI.Serialization
    • Reader
    • Writer
  • DuetControlServer.Utility
    • CRC16
    • FilamentManager
    • Logger
  • DuetWebServer
    • Program
    • Startup
  • DuetWebServer.Controllers
    • MachineController
    • WebSocketController
  • DuetWebServer.FileProviders
    • DuetFileProvider
  • DuetWebServer.Middleware
    • CustomEndpointMiddleware
    • FallbackMiddleware
    • HttpEndpointConnection
  • DuetWebServer.Services
    • ModelObserver
    • ModelObserver.WebDirectoryChanged

Class Subscription

Subscription processor that notifies clients about object model changes. There is no point in deserializing the object model here so only the JSON representation is kept here.

Inheritance
System.Object
Base
Subscription
Inherited Members
Base.Connection
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: DuetControlServer.IPC.Processors
Assembly: DuetControlServer.dll
Syntax
public class Subscription : Base

Constructors

Subscription(Connection, ClientInitMessage)

Constructor of the subscription processor

Declaration
public Subscription(Connection conn, ClientInitMessage initMessage)
Parameters
Type Name Description
Connection conn

Connection instance

ClientInitMessage initMessage

Initialization message

Fields

SupportedCommands

List of supported commands in this mode

Declaration
public static readonly Type[] SupportedCommands
Field Value
Type Description
System.Type[]

Properties

AreClientsConnected

True if any subscribers are connected

Declaration
public static bool AreClientsConnected { get; }
Property Value
Type Description
System.Boolean

Methods

GetPathNode(Dictionary<String, Object>, Object[])

Get the object from a path node

Declaration
public static object GetPathNode(Dictionary<string, object> root, object[] path)
Parameters
Type Name Description
System.Collections.Generic.Dictionary<System.String, System.Object> root

Root dictionary

System.Object[] path

Path node

Returns
Type Description
System.Object

Item at the given path

Process()

Task that keeps pushing model updates to the client

Declaration
public override Task Process()
Returns
Type Description
System.Threading.Tasks.Task

Task that represents the lifecycle of a connection

Overrides
Base.Process()
Back to top Generated by DocFX